python从零学(三)

参看抖音程序员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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值