数据类型
列表
| list.append(obj) |
在列表末尾添加新的对象 |
| list.extend(seq) |
在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) |
| list.insert(index,obj) |
将对象插入列表 |
| list.pop(index=-1) |
移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 |
| list.remove(obj) |
移除列表中某个值的第一个匹配项 |
| del list[index] |
删除队友索引的元素 |
| list.clear() |
清空列表 |
| list.count(obj) |
统计某个元素在列表中出现的次数 |
| list.index(obj) |
从列表中找出某个值第一个匹配项的索引位置 |
| list.reverse() |
反向列表中元素 |
| list.sort(key=None,reverse=False) |
对原列表进行排序 |
| list.copy() |
复制列表 |
| len(list) |
列表元素个数 |
| max(list) |
返回列表元素最大值 |
| min(list) |
返回列表元素最小值 |
| list(seq) |
将元组转换为列表 |
元组
元组与列表类似,不同之处在于元组的元素不能修改
元组使用小括号 () 不需要括号也可以 ,列表使用方括号 []
元组中只包含一个元素时,需要在元素后面添加逗号 ‘,’ ,否则括号会被当作运算符使用
| len(tuple) |
元组元素个数 |
| max(tuple) |
返回元组元素最大值 |
| min(tuple) |
返回元组元素最小值 |
| tuple(iterable) |
将可迭代洗系列转换为元组 |
字典
del tinydict['Name'] # 删除键 'Name'
tinydict.clear() # 清空字典
del tinydict # 删除字典
| len(dict) |
计算字典元素个数,即键的总数 |
| str(dict) |
输出字典,可以打印的字符串表示 |
| type(variable) |
返回输入的变量类型,如果变量是字典就返回字典类型 |
| dict.clear() |
删除字典内所有元素 |
| dict.copy() |
返回一个字典的浅复制 |
| dict.fromkeys(seq[, value]) |
创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值 |
| dict.get(key, default=None) |
返回指定键的值,如果键不在字典中返回 default 设置的默认值 |
| key in dict |
如果键在字典dict里返回true,否则返回false |
| dict.setdefault(key, default=None) |
和get()类似,
但如果键不存在于字典中,将会添加键并将值设为default
|
| dict.update(dict2) |
把字典dict2的键/值对更新到dict里 |
| dict.pop(key[,default]) |
删除字典 key(键)所对应的值,返回被删除的值 |
| dict.popitem() |
返回并删除字典中的最后一对键和值 |
| dict.items() |
以列表返回一个视图对象 |
| dickeys() |
返回一个视图对象 |
| dict.values() |
返回一个视图对象 |
集合
parame = {value01,value02,...}
set(value)
| s.add(x) |
将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作 |
| s.update(x) |
x 可以有多个,用逗号分开 |
| s.remove(x) |
将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误 |
| s.discard(x) |
移除集合中的元素,且如果元素不存在,不会发生错误 |
| s.pop() |
随机删除集合中的一个元素 |
| len(s) |
计算集合元素个数 |
| s.clear() |
清空集合 |
| x in s |
判断元素是否在集合中存在 |
| add() |
为集合添加元素 |
| clear() |
移除集合中的所有元素 |
| copy() |
拷贝一个集合 |
| difference() |
返回多个集合的差集 |
| difference_update() |
移除集合中的元素,该元素在指定的集合也存在。 |
| discard() |
删除集合中指定的元素 |
| intersection() |
返回集合的交集 |
| intersection_update() |
返回集合的交集 |
| isdisjoint() |
判断两个集合是否包含相同的元素,如果没有返回
True,否则返回 False
|
| issubset() |
判断指定集合是否为该方法参数集合的子集 |
| issuperset() |
判断该方法的参数集合是否为指定集合的子集 |
| pop() |
随机移除元素 |
| remove() |
移除指定元素 |
| symmetric_difference() |
返回两个集合中不重复的元素集合。 |
| symmetric_difference_update() |
移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中
|
| union() |
返回两个集合的并集 |
| update() |
给集合添加元素 |
| len() |
计算集合元素个数 |
推导式
列表推导式
[表达式 for 变量 in 列表]
[out_exp_res for out_exp in input_list]
[表达式 for 变量 in 列表 if 条件]
[out_exp_res for out_exp in input_list if condition]
# out_exp_res:列表生成元素表达式,可以是有返回值的函数
# for out_exp in input_list:迭代 input_list 将 out_exp 传入到 out_exp_res 表达式中
# if condition:条件语句,可以过滤列表中不符合条件的值
# 过滤掉长度小于或等于3的字符串列表,并将剩下的转换成大写字母:
names = ['Bob','Tom','alice','Jerry','Wendy','Smith']
new_names = [name.upper()for name in names if len(name)>3]
print(new_names)
# ['ALICE', 'JERRY', 'WENDY', 'SMITH']
# 计算 30 以内可以被 3 整除的整数:
multiples = [i for i in range(30) if i % 3 == 0]
print(multiples)
# [0, 3, 6, 9, 12, 15, 18, 21, 24, 27]
字典推导式
{ key_expr: value_expr for value in collection }
{ key_expr: value_expr for value in collection if condition }
# 使用字符串及其长度创建字典:
listdemo = ['Google','Runoob', 'Taobao']
# 将列表中各字符串值为键,各字符串的长度为值,组成键值对
newdict = {key:len(key) for key in listdemo}
# {'Google': 6, 'Runoob': 6, 'Taobao': 6}
# 提供三个数字,以三个数字为键,三个数字的平方为值来创建字典:
dic = {x: x**2 for x in (2, 4, 6)}
# {2: 4, 4: 16, 6: 36}
print(type(dic))
# <class 'dict'>
集合推导式
{ expression for item in Sequence }
{ expression for item in Sequence if conditional }
# 计算数字 1,2,3 的平方数:
setnew = {i**2 for i in (1,2,3)}
# {1, 4, 9}
# 判断不是 abc 的字母并输出:\
a = {x for x in 'abracadabra' if x not in 'abc'}
print(a)
# {'d', 'r'}
print(type(a))
# <class 'set'>
元组推导式(生成器表达式)
元组推导式可以利用 range 区间、列表、字典、集合和元组等数据类型,快速生成一个满足指定需求的元组
(expression for item in Sequence )
(expression for item in Sequence if conditional )
元组推导式和列表推导式的用法也完全相同,只是元组推导式是用
() 圆括号将各部分括起来,而列表推导式用的是中括号
[],另外元组推导式返回的结果是一个生成器对象
# 生成一个包含数字 1~9 的元组:
a = (x for x in range(1,10))
printS(a)
# <generator object <genexpr> at 0x7faf6ee20a50> # 返回的是生成器对象
tuple(a) # 使用 tuple() 函数,可以直接将生成器对象转换成元组
# (1, 2, 3, 4, 5, 6, 7, 8, 9)