python培训之列表和集合有什么区别

发布时间:2022-10-14 09:50:09 人气:84 作者:多测师

  列表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 "", line 1, in 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 "", line 1, in 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培训之列表和集合有什么区别

  注意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()一样,向原列表追加一个新元素,在原有列表上增加

  集合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 : 85Adam : 95Bart : 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])

  以上内容为大家介绍了python培训之列表和集合有什么区别,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注多测师。https://www.e70w.com/xwzx/


返回列表
在线客服
联系方式

热线电话

17727591462

上班时间

周一到周五

二维码
线