内置方法
列表内置方法
- len()
可以统计列表中有多少个数据值
b = [22, 11, 33, 44]
print(len(b)) # run:4 统计列表中有多少个数据值
- .append()
在列表的最后增加的数据值
a = ['aaa', 'bbb', 'ccc', 'ddd', 'eee']
a.append('ww')
print(a) # run:['aaa', 'bbb', 'ccc', 'ddd', 'eee', 'ww'] 在最后加入字符串
a.append([1, 2])
print(a) # run:['aaa', 'bbb', 'ccc', 'ddd', 'eee', 'ww', [1, 2]] 在最后加入列表
- .insert()
将数据以你设置位置加入到列表
a = ['aaa', 'bbb', 'ccc', 'ddd', 'eee']
a.insert(0, '插队')
print(a) # run:['插队', 'aaa', 'bbb', 'ccc', 'ddd', 'eee'] 在第零个插入字符串
a.insert(0, [1, 2])
print(a) # run:[[1, 2], '插队', 'aaa', 'bbb', 'ccc', 'ddd', 'eee']在第零个插入列表
- .extend()
将两个列表合并
b = [22, 11, 33, 44]
c = [66, 55, 77, 88]
for i in c:
b.append(i)
print(b) # run:[22, 11, 33, 44, 66, 55, 77, 88] 将c列表依次添加到b列表
b.extend(c) # 括号里面必须是支持for循环的数据类型 for循环+append()
print(b) # run:[22, 11, 33, 44, 66, 55, 77, 88]
- 取你所要位置的数据值
a = ['aaa', 'bbb', 'ccc', 'ddd', 'eee']
print(a[0]) # run:aaa
print(a[1:3]) # run:['bbb', 'ccc'] 打印第一到第二
若是没有对应的数据值则是插入
a = ['aaa', 'bbb', 'ccc', 'ddd', 'eee']
a[1] = 'yes'
print(a) # run:['aaa', 'yes', 'ccc', 'ddd', 'eee'] 在第一个位置插入
- del
删除所选的数据值
a = ['aaa', 'bbb', 'ccc', 'ddd', 'eee']
del a[0]
print(a) # run:['bbb', 'ccc', 'ddd', 'eee'] 把第零个字符串删除
- .pop
将所选的数据值取出在删除
a = ['aaa', 'bbb', 'ccc', 'ddd', 'eee']
res = a.pop(2)
print(res) # run:ccc 把第二字符串赋值给res
print(a) # run:['aaa', 'bbb', 'ddd', 'eee'] 把第二个字符串删除
- .imdex
查找数据值在列表的位置
a = ['aaa', 'bbb', 'ccc', 'ddd', 'eee']
print(a.index('bbb')) # run:1 在列表中第几个
- .count
查找数据值在列表中一共出现了多少次
a = ['aaa', 'bbb', 'ccc', 'ddd', 'eee']
a.append('bbb')
a.append('bbb')
print(a.count('bbb')) # run:3 列表中出现了3次'bbb'
- .sort
把列表的数据值按大小排序
b = [22, 11, 33, 44]
b.sort()
print(b) # run:[11, 22, 33, 44] 从小到大升序
b.sort(reverse=True) # 颠倒sort的作用
print(b) # run:[44, 33, 22, 11] 从大到小降序
- .reverse
将列表的顺序颠倒过来
a = ['aaa', 'bbb', 'ccc', 'ddd', 'eee']
a.reverse()
print(a) # run:['eee', 'ddd', 'ccc', 'bbb', 'aaa'] 列表排序颠倒
- 对比列表数据值的大小
a1 = [88, 11]
a2 = [77, 55, 44]
print(a1 > a2) # run:True 列表按照顺序依次对比
a3 = ['aaa', 22]
print(a1 > a3) # 不同数据类型不能比较
a4 = ['好', 4]
print(a3 > a4) # run:False 中文和字母都有对应的数值
可变类型与不可变类型
- 可变类型 list
当改变值时,内存地址不变,即id不变,证明在改变原值
a = [11, 22, 33]
print(id(a)) # run:2393923499840
a.append(44)
print(id(a)) # run:2393923499840
- 不可变类型 str int float
当改变值时,内存地址肯定变,即id也变,证明是没有在改变原值,是产生了新的值
a = '$hohoho$'
print(id(a)) # run:1517181073136
a = a.strip('$')
print(id(a)) # run:1517181073584
元组内置方法
- 类型转换tuple
持for循环的数据都可以转换成tuple
print(tuple('aa')) # run:('a', 'a')
a1 = ()
print(type(a1)) # run:tuple
- len
可以统计元组中有多少个数据值
a = (11, 22, 33, 44, 55)
print(len(a)) # run:5
- 查看这个位置上的数据,不能用于更改
print(a[1]) # run:22查看这个位置上的数据
a[1] = 1 # 不能更改
字典内置方法
- 类型转换dict
k是不可变类型
print(dict([('ab', 'a1'),('bc', 'b1')])) # run:{'ab': 'a1', 'bc': 'b1'}
print(dict(ab='a1', bc='b1')) # run:{'ab': 'a1', 'bc': 'b1'}
- .get()
通过k取出对应的v值
a = {'a1': 'aa', 'a2': 'bb', 'a3': 'cc'}
print(a.get('a2')) # run:bb
print(a.get('键不存在默认返回None')) # run:None 键不存在默认返回None
print(a.get('username', 222)) # run:222 键不存在返回第二个
- len()
可以统计字典中有多少个键值对
a = {'a1': 'aa', 'a2': 'bb', 'a3': 'cc'}
print(len(a)) # run:3 统计字典中有多少个键值对
-
修改键所对应的v值
若字典中没有对应的键则新增键值对
a = {'a1': 'aa', 'a2': 'bb', 'a3': 'cc'}
a['a1'] = 'yes'
print(a) # run:{'a1': 'yes', 'a2': 'bb', 'a3': 'cc'} 键存在则修改对应的值
a['xx'] = 'no'
print(a) # run:{'a1': 'yes', 'a2': 'bb', 'a3': 'cc', 'xx': 'no'} 键不在则新增
- del
删除所选的键值对
a = {'a1': 'aa', 'a2': 'bb', 'a3': 'cc'}
del a['a1']
print(a) # run:{'a2': 'bb', 'a3': 'cc'} 删除对应的键值对
- .pop
将所选键对应的值取出在删除
a = {'a1': 'aa', 'a2': 'bb', 'a3': 'cc'}
res = a.pop('a1')
print(res) # run:aa 获取键对应的值
print(a) # run:{'a2': 'bb', 'a3': 'cc'} 把键值对删除
- .popitem()
随机删除一项kv键值对
a = {'a1': 'aa', 'a2': 'bb', 'a3': 'cc'}
a.popitem()
print(a) # run:{'a1': 'aa', 'a2': 'bb'} 随机删除一项kv键值对
- 三个分别用于取k值,v值,kv键值对数据在组成列表套元组
a = {'a1': 'aa', 'a2': 'bb', 'a3': 'cc'}
print(a.keys()) # run:dict_keys(['a1', 'a2', 'a3']) 取所有的k值
print(a.values()) # run:dict_values(['aa', 'bb', 'cc'])取所有的v值
print(a.items()) # run:dict_items([('a1', 'aa'), ('a2', 'bb'), ('a3', 'cc')])取字典kv键值对数据 组成列表套元组
- .update()
修改键所对应的值
若键不存在则新增键值对
a = {'a1': 'aa', 'a2': 'bb', 'a3': 'cc'}
a.update({'a1': 'aaa'})
print(a) # run:{'a1': 'aaa', 'a2': 'bb', 'a3': 'cc'} 键存在则修改对应的值
a.update({'xx': '123'})
print(a) # run:{'a1': 'aaa', 'a2': 'bb', 'a3': 'cc', 'xx': '123'}键不存在则新增
- .fromkeys()
快速创造字典,但所有的键用同一个值
res = dict.fromkeys([1, 2], None)
print(res) # run:{1: None, 2: None} 快速创造字典,默认所有键用一个值
- .setdefault()
键存在则获取对应的值
键不存在则在字典新增键值对,在获取对应的值
a = {'a1': 'aa', 'a2': 'bb', 'a3': 'cc'}
res = a.setdefault('a1', 'hhh')
print(res) # run:aa 键存在获取对应的值
res1 = a.setdefault('xx', 'hhh')
print(a) # run:{'a1': 'aa', 'a2': 'bb', 'a3': 'cc', 'xx': 'hhh'}
print(res1) # run:hhh 键不存在则设置,在获取对应的值
集合内置方法
- 类型转换set()
支持for循环且数据必须是不可变类型
print(set('aa')) # run:{'a'}
- 去除集合里重复的值
a = {1, 2, 2, 3, 2, 3, 4, 3, 4, 5, 4, 5, 4, 5, 4}
print(a) # run:{1, 2, 3, 4, 5} 去除集合里的重复值
可以将其他类型的数据转换为集合去重
a1 = [1, 2, 2, 3, 2, 3, 4, 3, 4, 5, 4, 5, 4, 5, 4]
a2 = set(a1)
a1 = list(a2)
print(a1) # run:[1, 2, 3, 4, 5] 将列表转换成集合去重,在转换回列表
- 两有部分重复的集合
a1 = {'aa', 'bb', 'cc', 'dd'}
a2 = {'11', 'cc', 'aa', '22'}
print(a1 & a2) # run:{'cc', 'aa'} 两集合都有的值
print(a1-a2) # run:{'bb', 'dd'} a1有a2没有的值
print(a2-a1) # run:{'11', '22'} a2有a1没有的值
print(a1 | a2) # run:{'bb', 'cc', '22', 'dd', '11', 'aa'} 两集合所有不同的值
print(a1 ^ a2) # run:{'bb', '22', 'dd', '11'} 两集合各自独有的值
- 父子集的判断
a = {1, 2, 3, 4, 5}
b = {3, 4, 5}
print(a > b) # run:True a是b的父集,b是a的子集
print(a1 < a2) # run:False
1
a = [] # 设置一个列表
while True:
bb = input('''
输入1执行添加用户名功能
输入2执行查看所有用户名功能
输入3执行删除指定用户名功能>>>:''') # 让用户输入功能指令
if bb == '1':
name = input('name>>>:')
a.append(name) # 添加新的用户名
elif bb == '2':
print(a) # 查看所有用户名
elif bb == '3':
cc = input('要删除谁啊>>>:')
a.remove(cc) # 删除指定用户名
2
a = [] #先创造一个空列表
l1 = [2, 3, 2, 1, 2, 3, 2, 3, 4, 3, 4, 3, 2, 3, 5, 6, 5]
for i in l1: # 把l1拆开循环
if i not in a: # 判断i在不在a里面
a.append(i) # 不在则加入到a里面
else:
continue # 在则开始下一次循环
else: # 最后打印出来的就是去重并保留数据值原来的顺序的列表
print(a) # run:[2, 3, 1, 4, 5, 6]
3
pythons = {'jason', 'oscar', 'kevin', 'ricky', 'gangdan', 'biubiu'}
linuxs = {'kermit', 'tony', 'gangdan'}
print(pythons & linuxs) # 即报名python又报名linux课程的学员名字集合
print(pythons | linuxs) # 所有报名的学生名字集合
print(pythons - linuxs) # 只报名python课程的学员名字
print(pythons ^ linuxs) # 没有同时这两门课程的学员名字集合

浙公网安备 33010602011771号