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网别的相干文章!