列表 list
1、列表的格式为,把值放入[ ]中
>>> lis = ['a', 1, ['a', 'c', 1]]
2、列表中可以嵌套任何类型
索引
因为列表是有序的,那么我们可以通过列表的索引来获取列表里面的值,而列表本身的索引是从0开始计算的
>>> lis = ["a", "b", "c", 1, 2, 3] >>> print(lis[0]) a >>> print(lis[-2]) 2
index(self, value, start=None, stop=None) 获取从左到右第一个值的索引
>>> lis = ['a', 'b', 'c', 1, 2, 'a', 'a', 3, 'd', 'e'] >>> print(lis.index("a")) 0
切片
雷同于str的切片
>>> lis = ['a', 's', 'd', 'g', 'r'] >>> lis[0:2] ['a', 's']
追加
append(self, p_object) 添加在最后面,可以是其他可迭代对象
>>>lis = ["a", "b", "c", 1, 2, 3] >>> lis.append("d") >>> print(lis) ['a', 'b', 'c', 1, 2, 3, 'd']
extend(self, iterable) 添加其他可迭代对象
>>> lis = ["a", "b", "c", 1, 2, "a", "a", 3] >>> lis1 = ["d", "e"] >>> lis.extend(lis1) >>> print(lis, lis1) ['a', 'b', 'c', 1, 2, 'a', 'a', 3, 'd', 'e'] ['d', 'e']
insert(self, index, p_object) 在指定索引处,插入某值
>>> lis = ['a', 'b', 'c', 1, 2, 'a', 'a', 3, 'd', 'e'] >>> lis.insert(1, "f") >>> print(lis) ['a', 'f', 'b', 'c', 1, 2, 'a', 'a', 3, 'd', 'e']
删除
pop(self, index=None) 删除某个值(1.指定索引;2. 默认最后一个),并获取删除的值长度
>>> lis = ['a', 'f', 'b', 'c', 1, 2, 'a', 'a', 3, 'd'] >>> v1 = lis.pop() >>> v2 = lis.pop(2) >>> print(v1, v2) d b >>> print(lis) ['a', 'f', 'c', 1, 2, 'a', 'a', 3]
remove(self, value) 删除指定的值,左边优先
>>> lis = ['a', 'f', 'c', 1, 2, 'a', 'a', 3] >>> lis.remove("a") >>> print(lis) ['f', 'c', 1, 2, 'a', 'a', 3]
del + 值
>>> lis = ['f', 'c', 1, 2, 'a', 'a', 3] >>> del lis[1] >>> print(lis) ['f', 1, 2, 'a', 'a', 3]
复制
copy(self) 浅拷贝列表
>>> lis = ["a", "b", "c", 1, 2, 3] >>> b = lis.copy() >>> print(b) ['a', 'b', 'c', 1, 2, 3]
循环
可以使用for循环打印列表里面的值
>>>lis = ["a", "b", "c", 1, 2, 3] >>> for i in lis: print(i) a b c 1 2 3
包含
A in B 判断A是否在B里面,即返回True和False
>>> lis = ['f', 1, 2, 'a', 'a', 3] >>> v = "f" in lis >>> print(v) True
排序
sort(self, cmp=None, key=None, reverse=False) 按照一定的方式排序,其排序顺序为ASCII码顺序,但是列表里不能同时有数字或字符
>>> lis = ['a', 's', 'd', 'g', 'r'] >>> lis.sort() >>> print(lis) ['a', 'd', 'g', 'r', 's']
reverse(self) 是列表成倒序排列
>>> lis = ['a', 'd', 'g', 'r', 's'] >>> lis.reverse() >>> print(lis) ['s', 'r', 'g', 'd', 'a']
其他
clear(self) 清空列表
>>>lis = ["a", "b", "c", 1, 2, 3] >>> lis.clear() >>> print(lis) []
count(self,value) 计算列表里有多少个该值
>>> lis = ["a", "b", "c", 1, 2, "a", "a", 3] >>> v = lis.count("a") >>> print(v) 3
修改
>>> lis = ['a', 's', 'd', 'g', 'r'] >>> lis[2] = "e" >>> print(lis) ['a', 's', 'e', 'g', 'r'] ## lis[索引] = 想要修改成的值
深浅拷贝
>>> print(test_list) [[1, 2], 3, 4] >>> print(copy_list) [[1, 2], 3, 4] >>> copy_list[2] = 5 >>> copy_list[0][1] = 6 >>> print(test_list, copy_list) [[1, 6], 3, 4] [[1, 6], 3, 5] ##当改了拷贝列表里的一级元素时,源列表元素并没有改变;但是改变了二级元素时,却改变了 ####用copy()只能浅拷贝第一级元素 ########################深拷贝####################### >>> test_list = [[1,2],3,4] >>> import copy ##引入copy模块 >>> copy_list = copy.deepcopy(test_list) ##使用里面的deepcopy方法 >>> copy_list[0][1] = 5 >>> print(test_list, copy_list) [[1, 2], 3, 4] [[1, 5], 3, 4]
元组 tuple
元组的一阶元素不可被修改,不能被增加或者删除,但是元组的第二阶元素可以被修改,而其格式为
>>> tup = (12, 32, "a", "d")
索引
>>> tup = (12, 32, 'a', 'd') >>> tup[0] 12
index(self, value, start=None, stop=None)
>>> tu = ('a', 'b', 'c') >>> v = tu.index('b') >>> print(v) 1
切片
>>> tup = (12, 32, 'a', 'd') >>> tup[0:2] (12, 32)
循环
>>> tup = (12, 32, 'a', 'd') >>> for i in tup: print(i) 12 32 a d
长度 len()
>>> tup = (12, 32, 'a', 'd') >>> len(tup) 4
其他
join()
>>> tu = ('a', 'b', 'c') >>> v = "-".join(tu) >>> print(v) a-b-c ##注意:元组里面必须全是字符
count(self, value)
>>> tu = ('a', 'b', 'c', 'a', 'r', 'd', 'a') >>> v = tu.count("a") >>> print(v) 3
字典 dict
任何字典都是无序的,而布尔值(1,0)、列表、字典不能作为字典的key. 它的构造方式为:
>>> dic = {"name":"Hermaeus", "age":19, "hometown":"meishan"} ## 里面的任何一对又被称之为键值对,每一个键值对由 key:value组成
索引
1、通过关键字key获得返回值
>>> dic = {"name":"Hermaeus", "age":19, "hometown":"meishan"} >>> dic['name'] 'Hermaeus' ## 格式为,dic[key]将返回,其所对的值
2、 get(self, k, d=None)
获取与key相应的值,如果没有相应的key不会报错,如果指定“d”的话,没有找到“k”,就返回“d”
>>> dic = {'name': 'Hermaeus', 'age': 19, 'hometown': 'meishan'} >>> v = dic.get("age") >>> print(v) 19 >>> v = dic.get("lover", "He doesn't have any lover") >>> print(v) He doesn't have any lover
3、 items(self) 得到字典里面所有键值对的列表形式
>>> dic = {'name': 'Hermaeus', 'age': 19, 'hometown': 'meishan'} >>> v = dic.items() >>> print(v) dict_items([('name', 'Hermaeus'), ('age', 19), ('hometown', 'meishan')])
4、 values(self) 得到dict里面所有的value
>>> dic = {'name': 'Hermaeus', 'age': 19, 'hometown': 'meishan'} >>> v = dic.values() >>> print(v) dict_values(['Hermaeus', 19, 'meishan'])
5、 keys(self) 得到dict里面所有的key
>>> dic = {'name': 'Hermaeus', 'age': 19, 'hometown': 'meishan'} >>> v = dic.keys() >>> print(v) dict_keys(['name', 'age', 'hometown'])
新增
格式:dic[key] = 新增的值
>>> dic = {'name': 'Hermaeus', 'age': 19, 'hometown': 'meishan'} >>> dic["hobby"] = "reading" >>> print(dic) {'name': 'Hermaeus', 'age': 19, 'hometown': 'meishan', 'hobby': 'reading'}
删除
del dict[key]
>>> dic = {'name': 'Hermaeus', 'age': 19, 'hometown': 'meishan'} >>> del dic["name"] >>> print(dic) {'age': 19, 'hometown': 'meishan'}
pop(self, k, d=None) 获取,并从字典里面移除
>>> dic = {'name': 'Hermaeus', 'age': 19, 'hometown': 'meishan'} >>> v = dic.pop("age") >>> print(v, dic) 19 {'name': 'Hermaeus', 'hometown': 'meishan'}
popitem(self) 随机返回并删除字典中的一对键和值(一般删除末尾对),如果字典已经为空,却调用了此方法,就报出KeyError异常。
>>> dic = {'name': 'Hermaeus', 'age': 19, 'hometown': 'meishan'} >>> v = dic.popitem() >>> print(v, dic) ('hometown', 'meishan') {'name': 'Hermaeus', 'age': 19} ## 被删除的值,被储存为元组
循环
循环只能得到字典的每个key
>>> dic = {'name': 'Hermaeus', 'age': 19, 'hometown': 'meishan'} >>> for i in dic: print(i) name age hometown
长度 len()
>>> dic = {'name': 'Hermaeus', 'age': 19, 'hometown': 'meishan'} >>> print(len(dic)) 3
其他
setdefault(self, k, d=None) 已存在,不设置,获取当前key对应的值;不存在,设置,获取当前key对应的值
>>> dic = {'name': 'Hermaeus', 'age': 19, 'hometown': 'meishan'} >>> v = dic.setdefault("hobby","reading") >>> print(v, dic) reading {'name': 'Hermaeus', 'age': 19, 'hometown': 'meishan', 'hobby': 'reading'}
update(self, E=None, **F) 更新内容
>>> dic = {'name': 'Hermaeus', 'age': 19, 'hometown': 'meishan'} >>> dic.update(hobby = "reading", entertainment = "coding") ##也可以是另一个字典 >>> print(dic) {'name': 'Hermaeus', 'age': 19, 'hometown': 'meishan', 'hobby': 'reading', 'entertainment': 'coding'}
clear(self) 清空
copy(self) 浅拷贝