List(列表)
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。列表中的每个元素都分配一个索引,第一个索引是0,第二个索引是1,依此类推。
语法
list1 = ["a", "b", "c", "d"]
list2 = [1, 2, 3, 4 ]
获取列表中的值
list = ["a", "b", "c", "d"]
# 获取第一个值
print(list[0])
a
# 获取第二个值
print(list[1])
b
列表常用的方法
list.append('abc') #往列表最后追加数据abc
list.insert(2,'abc') #往列表下标第2个位置增加一列abc,原来的第2个位置被挤到3去了
list.remove('abc') #删除abc
list.count('abc') #abc在列表出现了几次
list.index('abc') #找abc所在的位置,返回所在下标位置 ,如果有两个,找到第一个就返回
list.index(value,开始位置,结束位置)
list pop() #删除最后一个元素
list.reverse() #倒序排列
list.sort() #按首子母ascii表排序
list.extend(list) #把两个列表加起来变成一个列表
list[0:5] #切片 从下标0开始取到下标4 5取不到 顾头不顾尾
Tuple(元组)
Python的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号,列表使用方括号。
如果括号里面只有一个元素需要在后面加个逗号 。
语法
tuple1 = ("a", "b", "c", "d")
tuple2 = (1, 2, 3, 4 )
tuple3 = ('hello',)
元组常用的方法
因为元组的元素不能修改,所有没有添加和删除的方法。
其他方法与列表类似
Dictionary(字典)
字典是另一种无序,可变容器模型,且可存储任意类型对象。
字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中
键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
语法
dict = {'name': '张三', 'age': 18, 'sex': '男'}
访问字典里的值
dict = {'name': '张三', 'age': 18, 'sex': '男'}
print(dict['name'])
张三
print(dict['age'])
18
字典常用的方法
d.pop('key') #删除指定的key
d.popitem() #随机删除 ,以空则抛出异常
d.get(key,0) #同dict[key]只是多了个没有则返回缺省值:0 而dict[key]会抛异常
d.has_key(key) #有该key则返回True,没有则返回False
d.keys() #返回字典键的列表
d.values() #以列表的形式返回字典中的值,返回值的列表中可包含重复元素
d.items() #将所有的字典项以列表方式返回,每一个键值对生成一个元组。
d.update(dict2) #增加合并字典,如果字典2存在和字典1一样的Key则把2的key的值更新到1
d.clear() #清空字典, 同del dict
d.copy() #浅拷贝字典,如果更改字典1的值 则不影响拷贝出来字典2的值。如果字典里面包含列表则会一起更改。
d.deepcopy() #深拷贝,完全独立。
d.cmp(dict1,dict2) #比较字典(优先级为元素个数,键大小,键值大小)第一个大返回1,小返回-1,一样返回0
d.setdefault('key','value') #设置默认值。如果找不到这个KEY就增加。
set(集合)
集合是一个无序不重复元素的序列。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
语法
set1 = {'a', 'b', 'c', 'd'}
a = set()
集合常用方法
a.add() #增加
a.pop() #删除
x = {1,2,3,4}
y = {3,4,5,6}
x & y 用方法写:x.intersection(y) #交集:找出在x上有的,同时在y上也有的. 输出 [3,4]
x | y 用方法写:x.union(y) #并集:把x和y加在一起并且去除重复的 输出 [1,2,3,4,5,6]
x - y 用方法写:x.difference(y) #差集:找出x有的在y里没有的 输出[1,2]
x ^ y 用方法写:x.symmetric_difference(y)#对称差集:找出x有的y没有的和y有的x没有的 输出[1,2,5,6]
x.issubset(y) # x是y的子集
x.issuperset(y) # x是否包含y