2025-09-10:仓库迁移
This commit is contained in:
30
1.数据结构与算法/19.同时对数据做转化和换算.py
Normal file
30
1.数据结构与算法/19.同时对数据做转化和换算.py
Normal file
@@ -0,0 +1,30 @@
|
||||
# 这是一种简化操作,可以将转换和换算合为一体,比如我们有一个列表
|
||||
nums = [1,2,3,4,5]
|
||||
|
||||
# 计算平方和我们一般这样子做:
|
||||
nums_square = [x*x for x in nums]
|
||||
s = sum(nums_square)
|
||||
|
||||
# 这个时候我们就可以这样来简化一下运算:
|
||||
s = sum(x*x for x in nums)
|
||||
|
||||
|
||||
# 又或者我们要在一堆参数中间加一些分隔符:
|
||||
# 注意,这里的join和os.path.join不一样,这里是用来给jion输入的列表加分隔符的
|
||||
s = ("ACME", 50, 123.45)
|
||||
print(','.join(str(x) for x in s))
|
||||
|
||||
# 这里我们将生成器表达式从()里薅出来,当作可迭代参数塞进了函数里,这样避免了列表生成器造成的内存浪费
|
||||
|
||||
# 对单个字典内,我们用键值反转的方法来找元素,但是如果这是一个字典列表,那情况就大大不同了
|
||||
portfolio = [
|
||||
{'name': 'GOOG', 'shares': 50},
|
||||
{'name': 'YHOO', 'shares': 75},
|
||||
{'name': 'AOL', 'shares': 20},
|
||||
{'name': 'SCOX', 'shares': 65}
|
||||
]
|
||||
max_share = max(portfolio, key=lambda x: x["shares"])
|
||||
print(max_share)
|
||||
# 当然如果仅仅只要拿到最小值就用到了生成器表达式内嵌的方法
|
||||
max_share_num = max(s['shares'] for s in portfolio)
|
||||
print(max_share_num)
|
Reference in New Issue
Block a user