Python中list和set的区别-Python教程

资源魔 37 0

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相似,然而成果齐全纷歧样,应用时需依据实际需要选用正确办法

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

二、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]

三、+ 间接用+号看下来与用extend()同样的成果,然而其实是天生了一个新的列表存这两个列表的以及,只能用正在两个列表相加之

四、+= 成果与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的区分的具体内容,更多请存眷资源魔其它相干文章!

标签: python教程 python编程 python使用问题 Python中list和set的区别

抱歉,评论功能暂时关闭!