列表
列表里可以存储任意的数据类型、可修改的结构,用[ ]括起来表示或用函数list()构建。
eg: y = [1,1.5,'hello',True]
列表还可以嵌套列表
eg: y = [1,1.5,'hello',True,["wo","heng","shuai"]]
访问元素:索引从0开始
1 y = [1,1.5,'hello',True,["wo","heng","shuai"]] 2 y[1]
1.5
1 y[4][1]
'heng'
1 y[1:3]#前闭后开
[1.5, 'hello']
y[::2]#第二个冒号后表示步长
[1, 'hello', ['wo', 'heng', 'shuai']]
列表的修改、添加和删除
a=[1,1,3,45,6] b=[5,6,7] a[3]=4
添加
1 a.append(8)#在表的末尾添加 2 a
[1, 1, 3, 4, 6, 8, 8]
1 a.extend(b)#添加列表时可拆分添加 2 a
[1, 1, 3, 4, 6, 8, 8, 5, 6, 7]
1 a.insert(7,"y")#指定添加元素的位置 2 a
[1, 1, 3, 4, 6, 8, 8, 'y', 5, 6, 7]
删除
1 a.remove("y")#删除第一个指定值 2 a
[1, 1, 3, 4, 6, 8, 8, 5, 6, 7]
1 del a[1]#基于位置删除 2 a
[1, 3, 4, 6, 8, 8, 5, 6, 7]
1 a.pop(1)#基于位置弹出并显示删除值 2 a
[1, 4, 6, 8, 8, 5, 6, 7]
排序:x.sort()修改原数据,sorted(x)不修改原结构
1 a.sort() 2 a
1, 5, 6, 6, 7, 8, 8]
1 c=(2,3,1,4,6) 2 sorted(c)
字典
字典也是 Python 提供的一种常用的数据结构,它用于存放具有映射关系的数据。为了保存具有映射关系的数据,Python 提供了字典,字典相当于保存了两组数据,其中一组数据是关键数据,被称为 key;另一组数据可通过 key 来访问,被称为 value。
字典用{ }或者用dict()函数创建
scores = {'语文': 109, '数学': 110, '英语': 123}
dict1=dict(身高=179,体重=120,年龄=22)#字符串不需用引号
字典的基本用法:key 是字典的关键数据,因此程序对字典的操作都是基于key的
•访问字典中的值
1 dict1["身高"]
179
但常用get()方法获取,因为用此方法当访问的key不存在时不会报错
1 dict1.get("身高")
179
•键值对的添加删除
添加
1 dict1["学历"]="本科" 2 dict1
{'身高': 179, '体重': 120, '年龄': 22, '学历': '本科'}
删除
1 del dict1["学历"] 2 dict1
{'身高': 179, '体重': 120, '年龄': 22}
1 dict1.pop("年龄") 2 dict1
{'身高': 179, '体重': 120}
修改
1 dict1["身高"]=180 2 dict1
{'身高': 180, '体重': 120}
•字典常用的方法
1 dir(dict)['__class__','__contains__','__delattr__','__delitem__','__dir__','__doc__','__eq__','__format__','__ge__','__getattribute__','__getitem__','__gt__','__hash__','__init__','__init_subclass__','__iter__','__le__','__len__','__lt__','__ne__','__new__', '__reduce__','__reduce_ex__','__repr__','__setattr__','__setitem__','__sizeof__','__str__','__subclasshook__','clear','copy','fromkeys','get','items','keys','pop','popitem','setdefault','update','values']
clear() 用于清空字典中所有的 key-value 对
get() 方法其实就是根据 key 来获取 value
items()、keys()、values()items()、keys()、values() 分别用于获取字典中的所有 key-value 对、所有 key、所有 value。
1 for k,v in dict1.items(): 2 print(k) 3 print(v)
身高 185 体重 120
1 for k in dict1.keys(): 2 print(k)
身高 体重
1 for v in dict1.values(): 2 print(v)
185 120
update() 方法可使用一个字典所包含的 key-value 对来更新己有的字典。在执行 update() 方法时,如果被更新的字典中己包含对应的 key-value 对,那么原 value 会被覆盖
dict1.update(身高=185)
dict1
{'身高': 185, '体重': 120}
set
set的元素是唯一且无序的(可认为是KEY的集合),所以可以用来去重,如list(set(list)),因为set 内容元素是可哈希的,所以对set内容只能增删,不能直接修改。
1 a=set([2,1,2,3,5,4,3,4,5]) 2 a 3 b=set([1,2,6,7,8]) 4 b
{1, 2, 3, 4, 5}
{1, 2, 6, 7, 8}
但因为set的特性,set可以求差集、并集、反交集、子集和超集等
1 a|b#并
{1, 2, 3, 4, 5, 6, 7, 8}
1 a&b#交
{1, 2}