问题标签 [list-comprehension]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
3503 浏览

python - 元组索引的 Python 列表

我是 Matlab 用户,需要在某些事情上使用 Python,如果有人可以帮助我使用 Python 语法,我将不胜感激:

(1) Python 中的列表是否可以通过元组进行索引?如果是这样,我该怎么做?例如,我想用它来表示数据矩阵。

(2) 假设我可以使用由元组索引的列表,例如 data[(row,col)],我如何删除整个列?我知道在 Matlab 中,我可以做类似的事情

如果我想从数据中删除 x 列。

(3)如何轻松计算每行中非负元素的数量。例如,在 Matlab 中,我可以这样做:

这会给我一个列向量,表示每行中非负条目的数量。

非常感谢!

0 投票
2 回答
420 浏览

python - 如何通过列表理解或其他方式将一个列表分成两个

如果有一个像这样的字典项目列表:

我想根据“b”的值(0或1)拆分这些条目。

我对使用简单的列表推导很满意,我目前正在循环列表 L 两次。

显然这不是最有效的方法。

列表理解功能中似乎没有 else 子句。

我可以通过列表理解做我想做的事吗?

有一个更好的方法吗?

我正在寻找可读性和效率之间的良好平衡,倾向于可读性。

谢谢!

更新:感谢大家的意见和想法!对我来说最容易阅读的是托马斯的一本书。但我也会看看亚历克斯的建议。我之前没有找到对集合模块的任何引用。

0 投票
4 回答
29040 浏览

python - 列表理解:为什么这是语法错误?

为什么在以下列表理解中print(x)此处无效( )?SyntaxError

相比之下 - 以下不会给出语法错误:

0 投票
6 回答
26172 浏览

python - 在 Python 中使用列表推导来执行类似于 zip() 的操作?

我是一个 Python 新手,我想做的一件事就是围绕列表理解。我可以看到这是一个非常强大的功能,值得学习。

如何使用列表理解,以便我可以将结果作为列表中的一系列列表,而不是列表中的一系列元组?

(我意识到在这种情况下字典可能更合适,但我只是想更好地理解列表)。谢谢!

0 投票
2 回答
1135 浏览

python - 为什么这个 genexp 的性能比列表理解差?

我试图找到最快的方法来计算列表中与特定过滤器匹配的项目数。在这种情况下,查找列表中有多少个奇数。

在执行此操作时,比较列表推导式与等效生成器表达式的结果让我感到惊讶:

我也尝试过将 L 作为常规列表,并且大小不同,但在所有情况下,列表理解都会获胜。

与创建包含 100 万个项目的新列表的 listcomp 相比, genexp 做了什么导致它变慢......?

(顺便说一句,我发现最快的方法是:x = 1; len(filter(x.__and__, L))。是的,我知道编写这样的代码会杀死小猫,我这样做是为了好玩)

0 投票
7 回答
639 浏览

python - 如何从单词列表到 Python 中不同字母的列表

使用 Python,我试图将一个单词的句子转换为该句子中所有不同字母的平面列表。

这是我当前的代码:

此代码返回['s', 'h', 'e', 'l', 'a', 'b', 'y', 't', 'o', 'r'],这是正确的,但是否有更 Pythonic 的方式来回答这个问题,可能使用 list comprehensions/ set

当我尝试结合列表理解嵌套和过滤时,我得到列表列表而不是平面列表。

最终列表 ( ) 中不同字母的顺序ltr并不重要;重要的是它们是独一无二的。

0 投票
2 回答
327 浏览

python - 列表理解和函数

尝试这样的事情时我有点困惑

然后当我尝试时b[1](2),我有 1024 结果是错误的。但是当我这样写

一切都好

它工作正常,但第一个代码有什么问题?

0 投票
5 回答
6009 浏览

python - 反转嵌套字典的 Pythonic 方式

我有一个嵌套的人员和项目评级字典,以人员为键。人们可能会或可能不会共享项目。例子:

我正在寻找翻转这些关系的最简单方法,并拥有一个以项目为键的新嵌套字典。例子:

做这个的最好方式是什么?可以理解吗?

0 投票
3 回答
4866 浏览

python - 将嵌套的 Python 循环转换为列表推导

我已经开始研究一些 Project Euler 问题,并用一个简单的蛮力解决方案解决了第 4个问题:

解决后,我试图让它尽可能紧凑,并得出了那个可怕的底线!

不要半途而废,我试图将mprods函数压缩为列表理解。到目前为止,我已经提出了这些尝试:

  • [d*e for d,e in (range(a,b), range(a,b))]
    显然完全走错了路。:-)
  • [d*e for x in [e for e in range(1,5)] for d in range(1,5)]
    这给了我[4, 8, 12, 16, 4, 8, 12, 16, 4, 8, 12, 16, 4, 8, 12, 16],我期望 [1, 2, 3, 4, 2, 4, 6, 8, 3, 6, 9, 12, 4, 8, 12, 16]或类似的地方。

有任何 Pythonistas 可以提供帮助吗?:)

0 投票
1 回答
926 浏览

dynamic - 在 Haskell 中动态构建列表理解

我很好奇是否可以在 Haskell 中动态构建列表理解。

例如,如果我有以下内容:

我得到了我所追求的

但是,我真正想要的是拥有类似的东西

这样我就可以支持N成对的参数,而无需N构建all_pows. 我对 Haskell 还是很陌生,所以我可能忽略了一些明显的东西。这甚至可能吗?