列表数据类型内置方法
作用
描述多个值,比如爱好-
定义方式
hobby_list = ['play', 'swimming', 'dancing', '666'] t = list('nick') print(lt)
-
内置方法
-
优先掌握
-
索引取值
按照列表的下标取值
索引修改hobby_list = ['play', 'swimming', 'dancing', '666'] print(1, hobby_list[-1]) hobby_list[-1] = '233' # 索引修改 print(2, hobby_list[-1])
-
切片
[]内用冒号切片print(hobby_list[:]) # ['play', 'swimming', 'dancing', '666'] print(hobby_list[::-1]) # 从右到左 # ['666','dancing','swimming','play']
-
长度len
print(len(hobby_list))
-
in/not in
hobby_list = ['play', 'swimming', 'dancing', '666'] print('play' in hobby_list) # True
-
for循环
for i in 列表名字for hobby in hobby_list: print(hobby)
-
del删除
可以删除特定的一个值del hobby_list[-1] print(hobby_list)
-
append 追加,在后面加值
hobby_list = ['play', 'swimming', 'dancing', '666'] hobby_list.append('dapao-->piao') print(hobby_list)
-
-
需要掌握
-
count 对列表内的元素计数
print(hobby_list.count('666')) # 对列表内的某一个元素计数
-
extend 扩展
hobby_list.extend([1, 2, 3, 4]) # 扩展列表 # ctrl+鼠标左键 print(hobby_list)
-
clear 清除
hobby_list.clear() # 清除 print(hobby_list)
-
copy 复制列表
hobby_list2 = hobby_list.copy() # 复制列表 hobby_list[-1] = '233' print(hobby_list) print(hobby_list2)
-
pop 删除最后一个
hobby_list.pop() # 删除,默认删除最后一个 print(hobby_list)
-
index 索引
hobby_list = ['play', 'swimming', 'dancing', 'play', '666', 666, '666'] print(hobby_list.index('play')) # 索引 print(hobby_list.index('play', 2, 4)) # 索引2-4内有没有该值
-
insert 插入
hobby_list.insert(0, '1') # 插入 print(hobby_list)
-
remove 移除
hobby_list.remove('1') # 移除 print(hobby_list)
-
reverse 反转
hobby_list.reverse() # 反转 print(hobby_list)
-
-
存一个值还是多个值
多个值有序or无序
有序-
可变or不可变(重点)
可变lis = [12, ] print(id(lis)) lis.append('l2') print(id(lis)) 57558520 57558520
元组内置方法
作用
描述多个值,比如爱好-
定义方式
lis = [1,2,3,4] # 列表 tup = (1,2,3,4) #元组
内置方法
元祖和列表一模一样,但是元祖无法修改,元祖在定义那一刻他的元素个数以及元素的值全部固定了
早期永远一般用于减小内存占用,现在毫无用处,以后只要定义列表就行了存一个值还是多个值
多个值有序or无序
无序可变or不可变
压根没有这一说
字典内置方法
作用
对于值添加描述信息使用他-
定义方式
{}内用逗号隔开加入键值对key:valueinfo_dict = {'name': 'wangdapao', 'age': 18, 'height': 120, 'gender': 'female', 'hobby_list': ['dapao', '666', '233']}
-
内置方法
-
优先掌握
-
按key取值,即可取值也可改变
print(info_dict['hobby_list']) info_dict['age'] = 20 print(info_dict)
-
长度len
print(len(info_dict))
-
in/not in
print('name' in info_dict)
-
for循环
for i in info_dict: print(i)
-
keys/values/items(用的最多,一般用解压缩的形式)
print(list(info_dict.keys())) # 只取key list取出来是列表的形式 print(list(info_dict.values())) # 只取value list print(list(info_dict.items())) # 取键值对 list
实例
info_dict = {'name': 'wangdapao', 'age': 18, 'height': 120, 'gender': 'female', 'hobby_list': ['dapao', '666', '233']} for i in info_dict.values(): print(i) info_dict = {'name': 'wangdapao', 'age': 18, 'height': 120, 'gender': 'female', 'hobby_list': ['dapao', '666', '233']} print(info_dict.items()) for i in info_dict.items(): print(i) for k, v in info_dict.items(): print(k, v) lt = [[1, 2, 3], [2, 3, 4], [5, 6, 7]] for a, b, c in lt: print(a, b, c)
-
-
需要掌握
-
copy 复制
info_dict.pop('name')
-
pop 删除
info_dict.pop('name') #因为字典没有索引 所以要用key索引删除 print(info_dict)
-
popitem 删除最后一个
info_dict.popitem() # 早期的时候字典是无序的,是随机删除的,但是由于python3底层优化了字典,让字典看的貌似有序了,所以默认删除最后一个 print(info_dict)
-
clear 清除
info_dict.clear() 清除整个字典 print(info_dict)
-
get 获取
print(info_dict.get('age')) # print(info_dict['name']) print(info_dict.get('name', 'nick')) # 如果有,就返回真正的值;如果没有,默认返回None,也可以指定返回
-
setdefault 创建一个默认值
info_dict.setdefault('gender', 123123) # 有则不变,无则往里面追加值 print(info_dict)
-
update 更新列表
info_dict = {'name': 'wangdapao', 'age': 18, 'height': 120, 'gender': 'female', 'hobby_list': ['dapao', '666', '233']} info_dict.update({'a':1}) print(info_dict)
-
formkeys 由dict.出来,快速造一个字典
print(dict.fromkeys(['a',2,3,4,5],'nick'))
-
-
存一个值还是多个值
多个值,值可以是多个类型,key必须是不可变类型,通常应该是不可变类型中的字符串类型有序or无序
无序可变or不可变
可变数据类型
集合类型内置方法
作用
就是存储一大堆元素的东西,容器数据类型-
定义方式
以{}用逗号隔开不可变数据类型s = {1, 2, 1, 'a', 'a', 'c'} print(s) 去重 乱序 lis = [1,2,3,1,3] print(set(lis)) print(list(set(lis)))
-
内置方法
pythoners = {'jason', 'nick', 'tank', 'sean'} linuxers = {'nick', 'egon', 'kevin'}
并集
print(pythoners | linuxers) # 并集 print(pythoners.union(linuxers))
交集
print(pythoners & linuxers) # 交集 print(pythoners.intersection(linuxers))
差集
print(pythoners - linuxers) # 差集 print(pythoners.difference(linuxers))
交叉补集
print(pythoners ^ linuxers) # 交叉补集 print(pythoners.symmetric_difference(linuxers))
存一个值还是多个值
多个值有序or无序
无序-
可变or不可变(重点)
可变s = {1,2} print(id(s)) s.add(3) print(id(s))