Python中列表、字典、元组、集合数据结构整理
作者:shichen2014 时间:2022-08-02 05:54:57
本文详细归纳整理了Python中列表、字典、元组、集合数据结构。分享给大家供大家参考。具体分析如下:
列表:
shoplist = ['apple', 'mango', 'carrot', 'banana']
字典:
di = {'a':123,'b':'something'}
集合:
jihe = {'apple','pear','apple'}
元组:
t = 123,456,'hello'
1.列表
空列表:a=[]
函数方法:
a.append(3) >>>[3]
a.extend([3,4,5]) >>>[3,3,4,5] #添加一个列表序列
a.insert(1,'hello') >>>[3,'hello',3,4,5]
a.remove(3) >>>['hello',3,4,5] #删除第一个出现的3,没有3则报错
a.pop() >>>['hello',3,4]
a.pop(0) >>>[3,4]
a.index(4) >>>1 #返回出现的第一个4的下标
a.count(3) >>>1 #列表中元素3的个数
a.sort >>>[3,4] #排序
a.reverse() >>>[4,3] #反序
删除元素的方法:
a.remove(3) #通过值删除元素,删除第一个为参数值得元素
a.pop() #通过下标删除元素,默认删除列表最后一个值,带参数则删除下标为参数值的元素
del a[0] #通过下标删除元素,
del a[2:4] #删除a表下标为2,3的元素
del a[:] #删除a列表所有元素
del a #删除列表
列表推导式:
vec = [2,4,6]
[3*x for x in vec if x<6] >>>[6,12] 3*2,3*4
vec2 = [1,2,3]
[x*y for x in vec for y in vec2] >>>[2,4,6,4,8,12,6,12,18]
嵌套列表推导式:
mat = [
[1,2,3],
[4,5,6],
[7,8,9]
]
print ([[row[i] for row in mat] for i in [0,1,2]])
>>>[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
思考:list (zip(mat)) 和 list (zip(*mat))结果会有什么不同
2.元组
空元组:t = ()
元组赋值: t = (123,345)
t[0] >>>123
3.字典
d = {'Jack':'jack@mail.com','Tom':'Tom@main.com'}
d['Jack'] >>>'jack@mail.com
d['Jim'] = 'Jim@sin.com' >>>{'Jim': 'Jim@sin.com', 'Jack': 'jack@mail.com', 'Tom': 'Tom@main.com'}
del d['Jim'] >>>{'Jack': 'jack@mail.com', 'Tom': 'Tom@main.com'}
list(d.keys()) #将返回一个字典中所有关键字组成的无序列表
sorted(d.keys()) #将返回一个字典中所有关键字组成的排序列表
dict() #构造函数可以直接从key-value对中创建字典
dict([('Tim',123),('Tiny',234)]) >>>{'Tiny': 234, 'Tim': 123}
推导式创建字典:
{d2:d2+'@main.com' for d2 in list(d.keys())}
>>>{'Jack': 'Jack@main.com', 'Tom': 'Tom@main.com'}
练习:循环输出字典中的键值对:
for name,email in d.items():
print(name,email)
4.集合
空集合:A = set() ※想要创建空集合,必须使用set()
演示:
basket = {'apple','orange','apple'} >>>{'orange', 'apple'} #注意重复的元素只显示一个
'apple' in basket >>>True
'pear' in basket >>>False
集合的数学运算:
a = set('ababcdabca') >>>{'c', 'b', 'a', 'd'}
b = {'a','b','m'} >>>{'b', 'a', 'm'}
a - b >>>{'c', 'd'}
b - a >>>{'m'}
a | b >>>{'c', 'd', 'b', 'a', 'm'}
a & b >>>{'a','b'}
a ^ b >>>{'c','d','m'}
集合推导式:
{x for x in a if x not in 'ab'} >>>{'c','d'}
希望本文所述对大家的python程序设计有所帮助。
标签:Python,列表,字典,元组,集合
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
asp下实现代码的“运行代码”“复制代码”“保存代码”功能源码
2011-04-14 10:39:00
MySQL和MongoDB设计实例对比
2011-06-19 15:41:01
进一步了解Python中的XML 工具
2022-06-25 21:49:17
Python pandas实现excel工作表合并功能详解
2021-05-23 01:33:40
![](https://img.aspxhome.com/file/2023/4/70064_0s.png)
asp下通过HTTP_USER_AGENT判断用户是从手机上访问,还是电脑IE上访问
2011-02-24 11:00:00
Python打印“菱形”星号代码方法
2023-02-05 17:34:42
![](https://img.aspxhome.com/file/2023/5/73005_0s.png)
django Layui界面点击弹出对话框并请求逻辑生成分页的动态表格实例
2021-04-17 02:03:04
![](https://img.aspxhome.com/file/2023/2/89182_0s.jpg)
怎样解决MySQL 5.0.16的乱码问题
2008-10-13 12:47:00
asp简单可逆运算字符串加密解密函数
2010-05-04 16:42:00
python基础教程之分支、循环简单用法
2021-05-30 08:51:48
python中的三种注释方法
2023-05-27 07:47:01
![](https://img.aspxhome.com/file/2023/7/89057_0s.png)
AMP Tensor Cores节省内存PyTorch模型详解
2021-07-08 01:30:32
![](https://img.aspxhome.com/file/2023/4/88964_0s.jpg)
ASP如何使用CDONTS来发送电子邮件?
2010-06-05 12:35:00
总结分析Python的5个硬核函数
2022-04-12 11:05:42
![](https://img.aspxhome.com/file/2023/5/91925_0s.png)
python实现自动发送报警监控邮件
2023-02-02 06:17:15
提高asp程序访问速度的方法
2008-10-23 16:37:00
JDBC连接MySQL数据库关键的四个步骤
2009-12-17 12:06:00
python 与服务器的共享文件夹交互方法
2021-02-10 14:29:02
Python使用PyAudio制作录音工具的实现代码
2023-09-07 22:36:46
![](https://img.aspxhome.com/file/2023/8/67398_0s.png)
成为一个顶级设计师的第二准则
2008-04-01 09:41:00
![](https://img.aspxhome.com/file/UploadPic/20084/1/20084194438506s.jpg)