python中 列表、元组、字典以及集合

列表:类似于 C中的数组,在python中用方括号“ [ ] ” 括起来,不同的数据项用逗号分隔开。特别的,python列表中的数据项不需要同一个类型。

>>> list1 = ['a','CSDN',47,33]
>>> print(list1[1])
CSDN
>>> list1[0] = 'beauty'
>>> print(list1)
['beauty', 'CSDN', 47, 33]

上图中,我们创建了一个list1 列表 ,可以根据索引的方式访问,第一个元素的索引值为0,第二个元素为1,以此类推。还可以直接对列表中的某个元素进行修改,上图中我们就将字符串'a'修改为了字符串'beauty'。

python中还可以使用列表分片的方式来对多个元素进行操作。如若[ : ]冒号两边不写,则左边默认为0,右边默认为最后一位。

>>> list2 = list1[1:3]
>>> print(list2)
['CSDN', 47]
>>> print(list1[:4])
['beauty', 'CSDN', 47, 33]
>>> print(list1[-1])
33
>>> list1.append('hello')
>>> print(list1)
['beauty', 'CSDN', 47, 33, 'hello']

上图代码中,我们使用了列表的内置方法append(),它负责在列表尾部添加一个新元素。列表还有许多功能强大的内置方法,可以通过dir(list)命令列举出来。 

元组:类似于对列表的一种约束,在python中用小括号“ ( ) ” 括起来。与列表相同,元组也可以用索引访问,同样也可以套嵌。不同之处在于,元组中的元素一旦创建,便不能被修改。 但可以使用一种迂回的策略完成对元组的修改。

>>> tup1 = ('高数','chemistry',99,20)
>>> print(tup1[-1])
20
>>> tup1[1] = 520
Traceback (most recent call last):
  File "<pyshell#10>", line 1, in <module>
    tup1[1] = 520
TypeError: 'tuple' object does not support item assignment
>>> tup1 = ('高数','chemistry',99,20)
>>> id(tup1)
54461088
>>> tup1 = tup1[:2]+('zy',)+tup1[2:]
>>> print(tup1)
('高数', 'chemistry', 'zy', 99, 20)
>>> id(tup1)
49798144

上图试图修改元组tup1中索引值为1的元素数据,发生了错误。

字典:字典由多个“键(Key) - 值(Value)对”构成,每个键和值都用冒号分隔开,不同的键值用逗号分隔开,整个字典包括在花括号“{ }”之中

>>> dict = {'Name':'zhangsan','Age':12,'class':'五年级3班'}
>>> print('Name :',dict['Name'])
Name : zhangsan
>>> dict['Age'] = 13                  #更新Age的值
>>> dict['school'] = '实验小学'       #为字典添加新的键值对信息
>>> print(dict)
{'Name': 'zhangsan', 'Age': 13, 'class': '五年级3班', 'school': '实验小学'}

上图为字典的一些用法。

集合:Python中的集合是一个无序的元素集,集合中的每个元素都是孤立的,且是唯一的,也就是说,同一个集合中的元素不能够重复。特别的,集合中的元素只能包括数字、字符串、元组等不可变数据,不能包括列表、字典和集合等可变类型的元素。

>>> a = {3,4,5}
>>> b = {3,3,5,4,5}
>>> print(a)
{3, 4, 5}
>>> print(b)
{3, 4, 5}

此外,也可以使用set()函数,将列表和元组等其他可以迭代的对象转换为集合。如果原来列表或元组中有重复数据,则在转换过程中,仅保留一个。集合支持一系列标准操作,包括并集、交集、差集和对称差集等数学运算。如下代码所示。

>>> a_set = set([8,9,10,11])
>>> b_set = {1,2,3,4,7,8,9}
>>> a_set | b_set               #并集
{1, 2, 3, 4, 7, 8, 9, 10, 11}
>>> a_set & b_set               #交集
{8, 9}
>>> a_set - b_set               #差集(数据项在a_set,但不在b_set中)
{10, 11}
>>> a_set ^ b_set       #对称差集(项在a_set或b_set中,但不会同时出现在二者中)
{1, 2, 3, 4, 7, 10, 11}

 

Python 列表元组集合字典是四种常用的数据结构,它们各自具有不同的特性和用途: 1. 列表(List):列表是一种有序、可变的数据结构,用于存储多个元素。列表使用方括号 [] 来表示,元素之间用逗号分隔。列表的元素可以是任意类型,并且可以通过索引进行访问、修改和删除。列表还支持切片操作和多种方法(如添加、删除和排序等)。 2. 元组(Tuple):元组是一种有序、不可变的数据结构,用于存储多个元素。元组使用圆括号 () 来表示,元素之间用逗号分隔。与列表不同,元组一旦创建就不能修改,因此具有更高的安全性。元组通常用于存储不可变的数据,如坐标、日期和配置信息等。 3. 集合(Set):集合是一种无序、可变的数据结构,用于存储唯一的元素。集合使用花括号 {} 来表示,元素之间用逗号分隔。集合不允许重复的元素,且没有索引,不支持切片操作。集合支持常见的数学集合操作,如并集、交集、差集等。集合常用于去重操作和判断元素的存在性。 4. 字典(Dictionary):字典是一种无序、可变的键值对数据结构,用于存储多个键值对。字典使用花括号 {} 来表示,每个键值对之间用冒号 : 分隔,键值对之间用逗号分隔。字典的键必须是唯一的,而值可以是任意类型。字典通过键来访问、修改和删除对应的值,具有快速的查找速度。 总结起来,列表适合存储有序、可变的多个元素;元组适合存储有序、不可变的多个元素;集合适合存储无序、唯一的元素;字典适合存储键值对数据。根据具体的需求和数据特性,选择合适的数据结构可以更有效地处理和操作数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值