gpt4 book ai didi

python - (集)多个值的理解

转载 作者:太空宇宙 更新时间:2023-11-03 14:23:20 24 4
gpt4 key购买 nike

假设我有一个列表 l = [1,2,3] 并且我想创建该列表中所有数字及其平方的集合。理想情况下,在单个理解表达式中。

我能想到的最好的办法是(对列表进行两次迭代):

set(_ for _ in l).union(_ * _ for _ in l)

最佳答案

您自己的代码可以缩短为:

set(l).union(x**2 for x in l)

其中我将 _ 重命名为 x,因为 _ 表示该值并不重要,但它确实很重要。

严格来说,您仍在列表上迭代两次,但第一次是隐式的。

如果你坚持迭代一次,你会得到这个:

{y for x in l for y in (x, x**2)}

这是一个双重理解,包含以下内容:

result = set()
for x in l:
for y in (x, x**2):
result.add(y)

关于python - (集)多个值的理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47804703/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com