![]() |
1
15
在你的第二个例子中 generator expression 如果你的单子很大的话会比单子比较好。
|
![]() |
2
4
别忘了你的蟒蛇禅:
|
![]() |
3
2
我个人认为显式循环更具可读性,但这很有品味(有些人通常更喜欢较短的代码,特别是在必须编写代码的情况下)。 任何一个版本都可以进一步缩短/改进:
如果你想使用len(),我会告诉读者这些值并不重要:
|
![]() |
4
1
两个都很好。
列表理解返回另一个您要传递到的列表 伦恩 . 第一种解决方案避免创建另一个列表。 |
![]() |
5
1
您可能需要考虑的其他一些变体: 首先,可以将筛选条件分解为函数。无论哪种情况都可以,但如果情况变得更复杂,我肯定会这样做:
接下来,如果生成列表(如原始列表理解中所述)是可以接受的,则可以执行以下操作:
有itertools.ifilter,但如果使用它,则需要使用
这个
|
![]() |
Honza S. · 在列表理解中更新词典 1 年前 |
![]() |
kesarling · 这个Haskell列表理解是如何评估的? 1 年前 |
|
Ruslan199 · python中的条件列出了理解 1 年前 |
![]() |
Chris · 如何在OpenSCAD中的FOR循环中成对创建矢量元素 1 年前 |
|
Jme · 为什么在Python中解包时理解只适用于元组? 1 年前 |
![]() |
WeCanDoItGuys · 使用列表理解创建一副多副牌[重复] 1 年前 |
![]() |
tonydanza123 · 如果值不存在,则列表理解返回列表 1 年前 |