快捷搜索:  汽车  科技

python的运算符的语法与运用案例(Python运算符常见内置函数)

python的运算符的语法与运用案例(Python运算符常见内置函数)len() 计算容器中元素个数 len(list_1)函数名 描述 例子in 'b' in {'b':1 'c':2} True 元素是否存在 字符串、列表、元组、字典not in 4 not in (1 2 3) True 元素是否不存在 字符串、列表、元组、字典**注意,in在对字典操作时,判断的是字典的键而不是值**

目录:运算符,常见内置函数,序列解包,链式赋值,推导式

运算符

运算符 Python 表达式 结果 描述 支持的数据类型

[1 2] [3 4] [1 2 3 4] 合并 字符串、列表、元组

* a = 'a'*4 aaaa 复制 字符串、列表、元组

in 'b' in {'b':1 'c':2} True 元素是否存在 字符串、列表、元组、字典

not in 4 not in (1 2 3) True 元素是否不存在 字符串、列表、元组、字典

**注意,in在对字典操作时,判断的是字典的而不是值**

常见内置函数

函数名 描述 例子

len() 计算容器中元素个数 len(list_1)

max() 返回容器中元素最大值 max(list_1)

min() 返回容器中元素最小值 min(list_1)

del() 删除变量 del(list_1) 或者 del list_1

max() 返回容器中元素最大值

min() 返回容器中元素最小值

a = [1 2 2 1 10] print(max(a)) b = ['a' 'b' 'z'] print(min(b)) #根据ASCII表顺序

10

a

序列解包

定义:它将一个序列(或任何可迭代对象)解开,并将得到的值存储到一系列变量中。

x y z = [1] '2' (3) print(x) print(y) print(z)

[1]

2

3

链式赋值

x = y = z = [1] print(x) print(y) print(z)

[1]

[1]

[1]

推导式:通过for循环自动创建列表,只需用一行代码

1.列表生成式:

普通通过for循环自动创建列表

list1 = [] for i in range(11): list1.append(i) print(list1)

[0 1 2 3 4 5 6 7 8 9 10]

列表生成式创建列表,只要一行搞定:

list1 = [i for i in range(11)] print(list1)

[0 1 2 3 4 5 6 7 8 9 10]

#列表生成式中运算后生成

list1 = [i*i for i in range(11)] #每个i乘以本身之后进入列表 print(list1)

[0 1 4 9 16 25 36 49 64 81 100]

#增加条件筛选 if条件写在最后

list1 = [i for i in range(11) if i %2 == 0] #取出0到10中的偶数 print(list1)

[0 2 4 6 8 10]

#当列表下标位置有多个元素:

list3 = [(1 3) (7 4)] list2 = [] list4 = [] [(list2.append(i)) for (i) in list3] #将(1 3)整体看成i print(list2) [(list4.append((i k))) for i k in list3] #将(1 3)看成(i k) print(list4)

[(1 3) (7 4)]

[(1 3) (7 4)]

2.元组推导式:和列表类似,但是需要转为列表后再打印

python的运算符的语法与运用案例(Python运算符常见内置函数)(1)

元组需转为列表后再打印

3.字典推导式

一般情况下,len(key) = len(value) ,即键和值的个数要一致,否则会报错

key_1 = ['a' 'b'] value = [18 19] dict1 = {key_1[i]: value[i] for i in range(len(key_1)) if len(key_1) == len(value)} print(dict1)

{'a': 18 'b': 19}

键和值的个数不一致,报错

key_1 = ['a' 'b' 'c'] value = [18 19] dict1 = {key_1[i]: value[i] for i in range(len(key_1))} print(dict1)

dict1 = {key_1[i]: value[i] for i in range(len(key_1))}

IndexError: list index out of range 值的个数不足

特殊情况:如果len(key) ≠ len(value)

len(key) > len(value),需新增值(value)

key_1 = ['a' 'b' 'c' 'd'] #键 长度为4 value = [18 19] #值 长度为2 if len(key_1) - len(value)>0: #键的数量大于值的数量 a = len(key_1)-len(value) #键和值之间的数量差,即4-2 = 2 dict1 = {key_1[i]:value[i] for i in range(len(key_1)-a)} #键的长度减去差值,说明在键和值的个数一致时,键和值一一对应 #字典是通过键的下标来更改值 #len(key_1)-a = 4-2 = 2;range(2)表示遍历key_1和value下标为0,1的值 #若在这里print(dict1),结果为 {'a': 18 'b': 19} for i in range(len(key_1)-a len(key_1)): #从多出的键开始遍历至最后一个键 dict1[key_1[i]] = None #通过下标来添加(更改)键的值,None为新添加的值 else: #相当于len(key_1) - len(value) <=0 dict1 = {key_1[i]:value[i] for i in range(len(key_1))} # 直接按key_1的长度来遍历,可以没有值,但是不能没有键 print(dict1)

{'a': 18 'b': 19 'c': None 'd': None}

len(key) < len(value),按键(key)的长度取

key_1 = ['a' 'b' 'c' 'd'] #键 value = [18 19 33 22 12] #值 if len(key_1) - len(value)>0: #键的数量大于值的数量 a = len(key_1)-len(value) #键和值之间的数量差 dict1 = {key_1[i]:value[i] for i in range(len(key_1)-a)} #键的长度减去差值,说明在键和值的个数一致时,键和值一一对应 #字典是通过键的下标来更改值 #len(key_1)-a = 4-2 = 2;range(2)表示遍历key_1和value下标为0,1的值 #若在这里print(dict1),结果为 {'a': 18 'b': 19} for i in range(len(key_1)-a len(key_1)): #从多出的键开始遍历至最后一个键 dict1[key_1[i]] = None #通过下标来添加(更改)键的值,None为新添加的值 else: #相当于len(key_1) - len(value) <=0 dict1 = {key_1[i]:value[i] for i in range(len(key_1))} # 直接按key_1的长度来遍历,可以没有值,但是不能没有键 print(dict1)

{'a': 18 'b': 19 'c': 33 'd': 22}

猜您喜欢: