网站首页 > 教程分享 正文
目录:运算符,常见内置函数,序列解包,链式赋值,推导式
运算符
运算符 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.元组推导式:和列表类似,但是需要转为列表后再打印
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}
- 上一篇: 52、零基础Python到全栈-for+range
- 下一篇: 「python课程,精心总结」嵌套循环
猜你喜欢
- 2024-09-11 「每日一练」巧用python计算猴子吃桃问题
- 2024-09-11 python初学笔记(python入门教程(非常详细)书)
- 2024-09-11 3种python的编码形式制作九九乘法口诀表
- 2024-09-11 Python 之 计算单代码的执行时间(python代码执行结果)
- 2024-09-11 Python入门编程题库35--计算三个随机数的立方和
- 2024-09-11 Python入门编程题库35--计算三个random整数的立方和
- 2024-09-11 Python数字编程第一章练习(上)(python数字代码)
- 2024-09-11 Python 0-5 循环语句和列表元组(python循环语句用法)
- 2024-09-11 第一行Python代码之KO面试官(python面试第68招)
- 2024-09-11 1-6,0基础学Python创建list,Python中布尔类型按照索引访问list
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- css导航条 (66)
- sqlinsert (63)
- js提交表单 (60)
- param (62)
- parentelement (65)
- jquery分享 (62)
- check约束 (64)
- curl_init (68)
- sql if语句 (69)
- import (66)
- chmod文件夹 (71)
- clearinterval (71)
- pythonrange (62)
- 数组长度 (61)
- javafx (59)
- 全局消息钩子 (64)
- sort排序 (62)
- jdbc (69)
- php网页源码 (59)
- assert h (69)
- httpclientjar (60)
- postgresql conf (59)
- winform开发 (59)
- mysql数字类型 (71)
- drawimage (61)
本文暂时没有评论,来添加一个吧(●'◡'●)