Python-列表、元组、字典
列表
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
a = ['spa', 'egg', 12, 34] print(a) #['spa', 'egg', 12, 34]
列表的一些基本操作
索引、切片
a = ['spa', 'egg', 12, 34] print(a[1]) #egg print(a[:1]) #['spa']
修改元素值
a = ['spa', 'egg', 12, 34] a[2] = 22 print(a) #['spa', 'egg', 22, 34]
添加元素
1.append() 新元素添加到列表尾部
a = ['spa', 'egg', 12, 34] a.append('new') print(a) #['spa', 'egg', 12, 34, 'new']
2.insert() 插入到指定位置
a = ['spa', 'egg', 12, 34] a.insert(1, 99) print(a) #['spa', 99, 'egg', 12, 34]
3.extend() 扩展,在列表末尾一次性追加另一个序列中的多个值
a = ['spa', 'egg', 12, 34] b = ['abb', 99] a.extend(b) print(a) #['spa', 'egg', 12, 34, 'abb', 99]
删除
1.del 删除指定索引处的元素
a = ['spa', 'egg', 12, 34] del a[1] print(a) #['spa', 12, 34]
2. pop() 删除列表尾部一个元素
a = ['spa', 'egg', 12, 34] a.pop() print(a) #['spa', 'egg', 12]
3. remove() 删除指定元素
a = ['spa', 'egg', 12, 34] a.remove(12) print(a) #['spa', 'egg', 34]
查找-index( value, start=None, stop=None) 从列表中找出某个值第一个匹配项的索引位置 ps: start<=查找范围<stop
a = ['spa', 'egg', 12, 34] print(a.index(12)) #2 a = ['spa', 'egg', 12, 34, 'egg'] print(a.index('egg', 2, 5)) #4
反向-reverse()
a = ['spa', 'egg', 12, 34, 'egg'] a.reverse() print(a) #['egg', 34, 12, 'egg', 'spa']
排序-sort()
a = ['spa', 'egg', '12', '34', 'egg'] a.sort() print(a) #['12', '34', 'egg', 'egg', 'spa']
长度-len()
a = ['spa', 'egg', '12', '34', 'egg'] print(len(a)) #5
元组
元组与列表类似,不同之处在于元组的元素不能修改。
tup1 = ('spa', 'egg', '12', '34', 'egg') #元组中只包含一个元素时,需要在元素后面添加逗号 tup2 = (50,)
查看元组
tup1 = ('spa', 'egg', '12', '34', 'egg') print("tup1[1]:", tup1[1]) print("tup1[1:3]:", tup1[1:3]) #tup1[1]: egg #tup1[1:3]: ('egg', '12')
元组连接
tup1 = ('spa', 'egg', '12', '34', 'egg') tup2 = (12, 34, 56) tup3 = tup1+tup2 print(tup3) #('spa', 'egg', '12', '34', 'egg', 12, 34, 56)
删除-元组元素不能被删除,但元组可以被删除
tup1 = ('spa', 'egg', '12', '34', 'egg') print(tup1) del tup1 print(tup1)
执行异常,tup1找不到
print(tup1)
NameError: name 'tup1' is not defined
统计-count(value) ,统计指定元素的个数
tup1 = ('spa', 'egg', '12', '34', 'egg') print(tup1.count('egg')) #2
字典
字典是另一种可变容器模型,且可存储任意类型对象,如其他容器模型。字典由键和对应值成对组成。
每个键与值用冒号隔开(:),每对用逗号分割,整体放在花括号中({})。
键必须独一无二,但值则不必。
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
dict1 = {'a': 1, 'b': 2, 'c': 3}
访问字典-[key] ,如果key在字典中不存在,则会抛出异常。
dict = {'Name': 'King', 'Age': 21, 'Class': '2-9'} print ("Name: ", dict['Name']) print ("Age: ", dict['Age']) print ("Class: ", dict['Class']) #输出结果 Name: King Age: 21 Class: 2-9
修改字典
dict1 = {'Name': 'King', 'Age': 21, 'Class': '2-9'} dict1['Age'] = 18#修改Age dict1['School'] = "DPS School" # Add new entry print ("Age: ", dict1['Age']) print ("School: ", dict1['School']) #输出结果 Age: 18 School: DPS School
get() 返回key所对应的val ,如果key不存在,返回None
dict1 = {'Name': 'King', 'Age': 21, 'Class': '2-9'} print ("Age: ", dict1.get("Age")) #输出结果 Age: 21
fromkeys(seq, value)
seq = ('name', 'age', 'sex') dict = dict.fromkeys(seq, "value") print ("New Dictionary : %s" % str(dict)) #输出结果 New Dictionary : {'sex': 'value', 'name': 'value', 'age': 'value'}
values() 返回字典中的所有值
dict1 = {'Name': 'King', 'Age': 21, 'Class': '2-9'} print (dict1.values()) #输出结果 dict_values(['2-9', 21, 'King'])