小编qwe*_*url的帖子

是否可以在字典中使用两个(非嵌套)for 循环?

我有这两个列表:

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)

python

3
推荐指数
1
解决办法
71
查看次数

在一行中将数​​字减半

我正在努力实现的目标:

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......

python list-comprehension

2
推荐指数
1
解决办法
63
查看次数

标签 统计

python ×2

list-comprehension ×1