参看抖音程序员zhenguo,作为学习记录,以备查询
# 向字典中添加元素
a={"孙俪":1.62, "赵丽颖":1.60}
a['高圆圆']=1.68
a
{'孙俪': 1.62, '赵丽颖': 1.6, '高圆圆': 1.68}
# 遍历字典的三种方法
a = {'孙俪': 1.62, '赵丽颖': 1.6, '高圆圆': 1.68}
for k,v in a.items():
print(k,v)
孙俪 1.62
赵丽颖 1.6
高圆圆 1.68
for k in a:
print(k, a[k])
孙俪 1.62
赵丽颖 1.6
高圆圆 1.68
for k in a.keys():
print(k, a[k])
孙俪 1.62
赵丽颖 1.6
高圆圆 1.68
# 删除字段元素的两种方法
a = {'孙俪': 1.62, '赵丽颖': 1.6, '高圆圆': 1.68}
del a['孙俪']
a
{'赵丽颖': 1.6, '高圆圆': 1.68}
a = {'孙俪': 1.62, '赵丽颖': 1.6, '高圆圆': 1.68}
a.pop('孙俪')
1.62
# 确保顺序遍历字典
a = {'孙俪': 1.62, '赵丽颖': 1.6, '高圆圆': 1.68}
for k in sorted(a.keys()):
print(k, a[k])
孙俪 1.62
赵丽颖 1.6
高圆圆 1.68
None is None
True
None == None
True
# 逻辑语句
while True:
name = input("请输入姓名,按q退出:")
if name == "q":
break
print("你输入的的姓名:{}".format(name))
请输入姓名,按q退出:高圆圆
你输入的的姓名:高圆圆
请输入姓名,按q退出:q
# or逻辑操作 |位运算符
0 or 10
10
1 | 2
3
# 集合操作
a={'高圆圆','孙俪'}
b={'赵丽颖','高圆圆'}
#求并集
a.union(b)
{'孙俪', '赵丽颖', '高圆圆'}
#求交集
a.intersection(b)
{'高圆圆'}
# 求差集
a.difference(b)
{'孙俪'}
# 获取列表索引
a = ['孙俪', '赵丽颖', '高圆圆']
for index, ai in enumerate(a):
print(index,ai)
0 孙俪
1 赵丽颖
2 高圆圆
# 赋值:a,b指向同一个盒子 copy:新的一个盒子
a=[3,1,2]
b=a
c=a.copy()
#浅拷贝
a=[3,[1,0],2]
b=a.copy()
b
[3, [1, 0], 2]
#深拷贝
from copy import deepcopy
a=[3,[1,0],2]
c = deepcopy(a)
c
[3, [1, 0], 2]
# ==比较盒子内容
a = [3,1,2]
b = [3,1,2]
a == b
True
# is比较两个标签指向同一个盒子
a is b
False
# 封装函数
def print_item():
for i in [3,1,2]:
print(i)
print_item()
3
1
2
# 字符串格式化打印
a,b,c =3,1,2
print("a=%d,b=%d,c=%d" % (a,b,c))
print("a={},b={},c={}".format(a,b,c))
print(f"a={a},b={b},c={c}")
a=3,b=1,c=2
a=3,b=1,c=2
a=3,b=1,c=2
# 返回斐波那契数列
def fibo(n):
a,b=0,1
i,result = 0,[]
while i < n:
result.append(a)
a,b = b,a + b
i += 1
return result
fibo(10)
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
# *可对应多个内容组成列表
a,*b=3,1,2,0
b
[1, 2, 0]
def f(*args):
print(f'输入的可变位置参数为:{args}')
f(3,1,'a')
输入的可变位置参数为:(3, 1, 'a')
# 冰雹猜想
def collatz(n):
return n//2 if n%2 == 0 else 3*n+1
n=10
result = collatz(n)
print(result)
while result != 1:
result = collatz(result)
print(result)
5
16
8
4
2
1
# 可变位置参数,可变关键字参数
def f(*args, **kargs):
print(f'p={args},k={kargs}')
f(3,5,2,a=7,b=8)
p=(3, 5, 2),k={'a': 7, 'b': 8}
# 函数也是对象
f=abs
f(-3)
3
a =[1,2,3]
b=['高圆圆','赵丽颖','孙俪']
list(zip(a,b))
[(1, '高圆圆'), (2, '赵丽颖'), (3, '孙俪')]
# 列表生成式写法
def find_odd2(a):
return [e for e in a if e % 2 == 1]
a=[3,2,1,5,4,9]
find_odd2(a)
[3, 1, 5, 9]
#lambda函数
add_two = lambda x,y :x+y
add_two(5,9)
14