全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货  >  Python技术干货  >  详情

python列表和集合有什么区别

来源:千锋教育
发布人:xqq
2023-11-06

推荐

在线提问>>

列表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培训机构:千锋教育。

相关文章

如何使用python中的help函数?

如何使用python的callable函数?

python gensim库是什么?

python中xluntils库是什么?

python中getattr()是什么?

开班信息 更多>>

课程名称
全部学科
咨询

HTML5大前端

Java分布式开发

Python数据分析

Linux运维+云计算

全栈软件测试

大数据+数据智能

智能物联网+嵌入式

网络安全

全链路UI/UE设计

Unity游戏开发

新媒体短视频直播电商

影视剪辑包装

游戏原画

    在线咨询 免费试学 教程领取