数据类型

列表

方法 作用
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)