Python公共操作
1.运算符
常见的公共操作运算符如下:
| 运算符 | 描述 | 适用的类型 |
| + | 合并 | 字符串、列表、元组 |
| * | 复制 | 字符串、列表、元组 |
| in | 是否存在 | 字符串、列表、元组、集合、字典 |
| not in | 是否不存在 | 字符串、列表、元组、集合、字典 |
+合并:
str1 = 'abc' str2 = 'ABC' print(str1 + str2) #abcABC
list1 = [1, 2, 'a'] list2 = [3, 4, 'b'] print(list1 + list2) #[1, 2, 'a', 3, 4, 'b']
tu1 = (1, 2, 'a') tu2 = (3, 'b') print(tu1 + tu2) #(1, 2, 'a', 3, 'b')
*复制
print('a' * 5) #aaaaa
li1 = [1, 'a'] print(li1 * 3) #[1, 'a', 1, 'a', 1, 'a']
tu1 = (1, ) print(tu1 * 3) #(1, 1, 1)
in和not in
print('a' in 'abcd') #True print('a' not in 'abcd') #False
li1 = [1, 2, 'a'] print('a' in li1) #True print(2 not in li1) #False
tu1 = (1, 2, 'a') print('a' in tu1) #True print(2 not in tu1) #False
2.公共方法
常见的公共方法如下:
| 函数 | 描述 | 语法示例 |
| len() | 获取容器中元素的个数 | len('abcd') ,返回4,即字符串有4个字符 |
| max() | 返回容器中值最大的元素 | max([1, 3, 2, 0]),返回3,列表中最大的元素是3 |
| min() | 返回容器中值最小的元素 | min([1, 3, 2, 0]),返回0,列表中最大的元素是0 |
| sum() | 求和 | sum([1, 2, 3]),返回6 |
| range(start,end,step) | ⽣成从start到end(不包含end)的数字,步⻓为 step,一般供for循环使⽤ | |
| enumerate() | 将⼀个可遍历的数据对象(如列表、元组或字符串)组合为⼀个索引序列,同时列出数据和数据下标,⼀般⽤在 for 循环当中。 | |
| zip() | 将两个序列的元素逐个对应合并 | |
| del或del() |
enumerate():
li1 = ['a', 'b', 'c'] li2 = [] li3 = [] for x in enumerate(li1): #默认0作为起始下标 li2.append(x) for x in enumerate(li1,1): #将1作为起始下标 li3.append(x) print(li2) #[(0, 'a'), (1, 'b'), (2, 'c')] print(li3) #[(1, 'a'), (2, 'b'), (3, 'c')]
zip():
li1 = ['a', 'b', 'c'] li2 = ['A', 'B', 'C'] li3 = ['a', 'b'] print(list(zip(li1, li2))) #[('a', 'A'), ('b', 'B'), ('c', 'C')] print(list(zip(li2, li3))) #[('A', 'a'), ('B', 'b')]
3.列表推导式
推导式又叫生成式,是Python中一种创建序列的方式,推导式代码简洁、内存占用小。
Python 支持各种数据结构的推导式:
- 列表(list)推导式
- 字典(dict)推导式
- 集合(set)推导式
- 元组(tuple)推导式
(1)列表推导式
[表达式 for 变量 in 序列 if 条件]
li1 = [str(a) + ':' for a in (1, 2, 3)] print(li1) # ['1:', '2:', '3:'] li2 = [x for x in range(1, 11) if x % 2 == 0] print(li2) #[2, 4, 6, 8, 10]
(2)字典推导式
{健:值 for 变量 in 序列 if 条件}
dict1 = {x: x**3 for x in range(1, 4)}
print(dict1) #{1: 1, 2: 8, 3: 27}
li1 = ['a', 'b', 'c']
li2 = ['A', 'B', 'C']
print({li1[i]: li2[i] for i in range(len(li1))}) #{'a': 'A', 'b': 'B', 'c': 'C'}
dict3 = {'张三': 89, '李四': 67, '王五': 53, '赵六': 72}
dict4 = {k: v for k, v in dict3.items() if v >= 60}
print(dict4) #{'张三': 89, '李四': 67, '赵六': 72}
(3)集合推导式
{表达式 for 变量 in 序列 if 条件}
同列表推导式一样,只是将 [] 换成 {}
print({x for x in 'ab21d493e01' if x not in '0123456789'}) #{'e', 'd', 'b', 'a'}
(4)生成器表达式
(表达式 for 变量 in 序列 if 条件)
同列表推导式类似,但该推导式返回的并不是一个元组,而是一个生成器对象。生成器可以转换为元组。
tu1 = (x*2 for x in range(1, 5)) print(tu1) #<generator object <genexpr> at 0x000002818C2F0580> print(tuple(tu1)) #(2, 4, 6, 8)
浙公网安备 33010602011771号