python列表和集合有什么区别
列表list
字面意思就是一个集合,在Python中List中的元素用中括号[]来表示,可以这样定义一个List:
L=[12,'China',19.998]
可以看到并不要求元素的类型都是一样的。当然也可以定义一个空的List:
L=[]
Python中的List是有序的,所以要访问List的话显然要通过序号来访问,就像是数组的下标一样,一样是下标从0开始:
>>>printL[0]12
千万不要越界,否则会报错
>>>printL[3]
Traceback(mostrecentcalllast):
File"",line1,inIndexError:listindexoutofrange
List也可以倒序访问,通过“倒数第x个”这样的下标来表示序号,比如-1这个下标就表示倒数第一个元素:
>>>L=[12,'China',19.998]>>>printL[-1]19.998
-4的话显然就越界了
>>>printL[-4]
Traceback(mostrecentcalllast):
File"",line1,inprintL[-4]
IndexError:listindexoutofrange>>>
List通过内置的append()方法来添加到尾部,通过insert()方法添加到指定位置(下标从0开始):
>>>L=[12,'China',19.998]>>>L.append('Jack')>>>printL
[12,'China',19.998,'Jack']>>>L.insert(1,3.14)>>>printL
[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()一样,向原列表追加一个新元素,在原有列表上增加
集合set
set也是一组数,无序,内容又不能重复,通过调用set()方法创建:
>>>s=set(['A','B','C'])
对于访问一个set的意义就仅仅在于查看某个元素是否在这个集合里面,注意大小写敏感:
>>>print'A'ins
True>>>print'D'ins
False
也通过for来遍历:
s=set([('Adam',95),('Lisa',85),('Bart',59)])forxins:printx[0],':',x[1]>>>Lisa:85Adam:95Bart:59
通过add和remove来添加、删除元素(保持不重复),添加元素时,用set的add()方法
>>>s=set([1,2,3])>>>s.add(4)>>>prints
set([1,2,3,4])
如果添加的元素已经存在于set中,add()不会报错,但是不会加进去了:
>>>s=set([1,2,3])>>>s.add(3)>>>prints
set([1,2,3])
删除set中的元素时,用set的remove()方法:
>>>s=set([1,2,3,4])>>>s.remove(4)>>>prints
set([1,2,3])
以上内容为大家介绍了python培训之列表和集合有什么区别,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。
相关推荐HOT
更多>>python列表怎么写
首先,我们需要明确的一点就是Python是没有数组这一概念的,,但是Python中有一种比数组还要厉害的东西——列表,它的功能比数组更加强大。2、...详情>>
2023-11-13 22:28:49python如何定义变量
在python学习过程中会用到许多数据,那为了方便操作,需要把这些数据分别用一个简单的名字代表,方便在接下来的程序中引用。变量就是代表某个数...详情>>
2023-11-13 22:07:41python如何创建列表
列表是有序可变的元素集合,列表可以嵌套,即列表里面的元素可以是列表,此外列表中的元素数据类型可以不一致,列表的定义方式有三种,如下所示...详情>>
2023-11-13 21:47:34pythonPython是软件吗?
python并不是一款软件,而是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本...详情>>
2023-11-13 21:21:00