本文详细归纳整理了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程序设计有所帮助。
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]