本文详细归纳整理了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.元组 代码如下: 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'} 推导式创建字典: 代码如下: {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程序设计有所帮助。 |
|