我有这两个列表:
a = ['A', 'B', 'C']
b = [ 1 , 2 , 3 ]
Run Code Online (Sandbox Code Playgroud)
我想将它们合并成这样的字典:
{'A': 1, 'B': 2, 'C': 3}
Run Code Online (Sandbox Code Playgroud)
我已经尝试过做这样的事情:
{i: j for i in a for j in b}
dict(*a: *b)
Run Code Online (Sandbox Code Playgroud)
哪些输出
{'A': 3, 'B': 3, 'C': 3}
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud) 我正在努力实现的目标:
l = []
n = 100
while (n):
l.append(n//2)
n //= 2
print(l)
# [50, 25, 12, 6, 3, 1, 0]
Run Code Online (Sandbox Code Playgroud)
我试过的:
>>> from itertools import takewhile
>>> n = 100
>>> [(n := n//2) for _ in takewhile(lambda x: x > 0, [n] * n)]
[50, 25, 12, 6, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, ... 0, 0, 0]
Run Code Online (Sandbox Code Playgroud)
这显然行不通,而且我也不喜欢创建大小数组的想法n......