旗下导航:搜·么
当前位置:网站首页 > Python教程 > 正文

Python中list和set的区分【Python教程】,Python中list和set的区别

作者:搜教程发布时间:2019-11-27分类:Python教程浏览:56评论:0


导读:list:字面意义就是一个鸠合,在Python中List中的元素用中括号[]来示意,能够如许定义一个List:L=[12,'China',19.998]能够...

list:

字面意义就是一个鸠合,在Python中List中的元素用中括号[]来示意,能够如许定义一个List:

L = [12, 'China', 19.998]

能够看到并不请求元素的范例都是一样的。固然也能够定义一个空的List:

L = []

Python中的List是有序的,所以要接见List的话明显要经由过程序号来接见,就像是数组的下标一样,一样是下标从0最先:

>>> print L[0]12

万万不要越界,不然会报错

>>> print L[3]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range

List也能够倒序接见,经由过程“倒数第x个”如许的下标来示意序号,比方-1这个下标就示意倒数第一个元素:

>>> L = [12, 'China', 19.998]
>>> print L[-1]19.998

-4的话明显就越界了,以下:

>>> print L[-4]

Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    print L[-4]
IndexError: list index out of range
>>>

List经由过程内置的append()要领来增加到尾部,经由过程insert()要领增加到指定位置(下标从0最先):

>>> L = [12, 'China', 19.998]
>>> L.append('Jack')
>>> print L
[12, 'China', 19.998, 'Jack']
>>> L.insert(1, 3.14)
>>> print L
[12, 3.14, 'China', 19.998, 'Jack']
>>>

注重python中有几个要领与append相似,然则效果完整不一样,使用时需依据现实需求选用准确要领

1、append() 向列表尾部追加一个新元素,列表只占一个索引位,在原有列表上增添

2、extend() 向列表尾部追加一个列表,将列表中的每一个元素都追加进来,在原有列表上增添

比方 list1=[1, 2, 3] .list2=[4, 5, 6]

list1.append(list2) 的效果为[1, 2, 3, [4, 5, 6]]

list1.extend(list2) 的效果为[1, 2, 3, 4, 5, 6]

3、+ 直接用+号看上去与用extend()一样的效果,然则现实上是生成了一个新的列表存这两个列表的和,只能用在两个列表相加上

4、+= 效果与extend()一样,向原列表追加一个新元素,在原有列表上增添

经由过程pop()删除末了尾部元素,也能够指定一参数删除指定位置:

>>> L.pop()
'Jack'
>>> print L
[12, 3.14, 'China', 19.998]
>>> L.pop(0)
>>> print L
[3.14, 'China', 19.998]

也能够经由过程下标举行复制替代

>>> L[1] = 'America'
>>> print L
[3.14, 'America', 19.998]

set:

set也是一组数,无序,内容又不能反复,经由过程挪用set()要领建立:

>>> s = set(['A', 'B', 'C'])

关于接见一个set的意义就仅仅在于检察某个元素是不是在这个鸠合内里,注重大小写敏感:

>>> print 'A' in s
True
>>> print 'D' in s
False

也经由过程for来遍历:

s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)])

for x in s:
    print x[0],':',x[1]

>>>
Lisa : 85
Adam : 95
Bart : 59

经由过程add和remove来增加、删除元素(坚持不反复),增加元素时,用set的add()要领

>>> s = set([1, 2, 3])
>>> s.add(4)
>>> print s
set([1, 2, 3, 4])

假如增加的元素已存在于set中,add()不会报错,然则不会加进去了:

>>> s = set([1, 2, 3])
>>> s.add(3)
>>> print s
set([1, 2, 3])

删除set中的元素时,用set的remove()要领:

>>> s = set([1, 2, 3, 4])
>>> s.remove(4)
>>> print s
set([1, 2, 3])

假如删除的元素不存在set中,remove()会报错:

>>> s = set([1, 2, 3])
>>> s.remove(4)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 4

所以假如我们要推断一个元素是不是在一些差别的前提内相符,用set是最好的挑选,下面例子:

months = set(['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec',])
x1 = 'Feb'
x2 = 'Sun'

if x1 in months:
    print 'x1: ok'
else:
    print 'x1: error'

if x2 in months:
    print 'x2: ok'
else:
    print 'x2: error'

>>>
x1: ok
x2: error

别的,set的盘算效力比list高。

更多Python相干技术文章,请接见Python教程栏目举行进修!

以上就是Python中list和set的区分的细致内容,更多请关注ki4网别的相干文章!

标签:Python中list和set的区别


欢迎 发表评论: