问题标签 [dictionary-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 投票
5 回答
195 浏览

python - 从三个单独的列表创建一个嵌套字典

我编写了一些代码来生成三个围绕项目的单独列表。第一个列表是 ID 列表,第二个列表是开始日期列表,第三个列表是结束日期列表。我想将这些列表组合成一个嵌套字典。

item[0]fromstart_dateitem[0]from end_date 与item[0]from相关联project_id[0]

期望的输出:

0 投票
2 回答
2546 浏览

python - 如何从 Python 中的默认字典中获取键值?

我有一个名为 df 的默认字典:

如何获取值大于 1 的该字典的键。

如果我做[df[val] for val in df if df[val]>1]

我得到的输出为[2, 2, 2]

如果我打印[df.keys() for val in df if df[val]>1]Still I do not get the key values, 我需要像这样的值超过 2 的键 我该['SC', 'OK', 'NH'] 怎么做?

0 投票
2 回答
102 浏览

python - 用列表列表中的第一个元素制作字典

这是一个关于在字典理解内的列表理解上使用 set() 与字典理解和重复分配给新字典的性能的问题

所以我碰巧有一个数据集,它是一个列表列表,我需要获取一个唯一的元素列表,这些元素在大列表中的每个列表中索引为“0”,以便能够制作一个新字典从他们那里.. 像 dict.fromkeys() .. 在这里我需要提供唯一键列表..

我在用着

[1]{ x : [] for x in set([i[0] for i in data])}

并且还使用

[2]{ i[0] : [] for i in data}

此处供参考的样本数据可能如下: [[1,3,4], [3,5,2], [1,5,2]]

上面运行 [1] 和 [2] 的结果将是: { 1:[], 3: [] }

我在这两个语句上都尝试了 %timeit 并且都给出了几乎相同的结果,这使得很难确定哪个是最好的,性能方面,对于大列表

我如何在这里识别潜在的瓶颈?

编辑:

如果这有助于解释结果..

0 投票
1 回答
143 浏览

list - Python使用理解在字典列表中查找是否有(键:值)

我有一种情况,我正在接收一个 dicts 列表,需要确定该列表是否为空,或者某个值是否存在于可能接收到的任何 dicts 中的特定键:值对中。
例如:

我目前正在使用:

我宁愿做这样的事情:

我已经阅读了过去 2 天里我能找到的关于使用理解的所有内容以及在我输入标题时出现的所有建议,但没有找到任何与此相关的内容。

我可以得到一个不错的发电机

我可以得到很多 SyntaxErrors:

我想我可能会接近:

但即使我的字典列表很简单,也没有输出:

我想我现在只是把我的大脑炸了,并且遗漏了一些明显的东西。任何帮助将不胜感激。

0 投票
2 回答
652 浏览

python - 如何检查字典理解中的列表理解中的列表是否为空?

我目前在字典理解中使用列表理解来检测两个以列表为值的字典之间的变化。

代码看起来像这样:

这将创建一个字典,其中每个条目都是表名,并且与之关联的是列表更改。

我遇到的问题是,尽管此代码有效,但生成的结构检测更改充满了仅包含表名和空列表的条目(意味着未检测到更改)。

我目前正在对字典进行后扫描以删除这些条目,但我想首先避免将它们放入字典中。

基本上,如果我能以某种方式进行长度检查或其他事情,[field for field in tableDict[table]我可以在创建 key:value 条目之前对其进行验证。

有没有办法用我正在使用的当前方法做到这一点?

0 投票
1 回答
176 浏览

python - 带有嵌套 for 的 Python 字典理解

无法将这些循环转换为字典理解——这可能是不可能的。

一般的想法是我有一个排除字典,如下所示:

然后我有一个更大的字典,我想使用排除来“清理”

如果我运行以下命令:

我剩下:

这是完美的,但我不确定我是否可以更好地将其表示为字典理解 - 只需添加我想要的键而不是删除我不想要的键。

我已经到了第二个for,但不知道如何在一个

0 投票
2 回答
3211 浏览

scala - Scala展平嵌套地图

我有一个像这样的嵌套地图:

我想以某种方式“展平”它,使外部和内部映射的键成对,即上面的示例:

什么是优雅的方式来做到这一点?

0 投票
1 回答
105 浏览

python - Python,试图在综合列表中生成字典

如果我想使用内部理解和三元从单词列表生成字典,我会遇到一些问题并需要帮助。

字典应该在没有额外模块导入的情况下生成,使用单词长度作为键,单词作为值。这是我最简化的问题:

然后尝试使其全面:

...这是行不通的。有什么帮助吗?

0 投票
2 回答
352 浏览

python - 使用 lambda 表达式的字典理解无法产生所需的结果

我正在创建一个单行来将 int 字符串映射到函数测试值是否匹配。理想情况下,结果字典的d行为类似于d['0'](0) is Trueand d['0'](1) is False。但相反,我得到以下输出:

我猜是懒惰评估的原因。我想我可以正确地用循环构建字典,for但我想要一个单行表达式。

谁能解释为什么这种方法会失败以及我是如何做对的?

0 投票
1 回答
878 浏览

python - Python——OrderedDict 中的字典理解不起作用

我有这个代码:

它设置了 wx.Image 对象的常规字典的有序字典,这些字典是通过理解设置的。我最初有嵌套的 dict 理解,它工作得很好,但我决定需要对顶级 dict 进行排序,所以最终以这种方式结束。问题是现在我收到此错误:

归零有问题的代码。我无法弄清楚我做错了什么。即使它不是顶级的,ordereddict 是否也不允许理解?也许它试图对有序字典中的所有字典进行排序而不能因为理解处于较低级别?不确定,也许这是因为隧道视觉我无法发现的荒谬。

PS:如果您需要知道我上面引用的全局变量中的内容: