名单我有一本字典dict1['a'] = [ [1,2], [3,4] ]
和需要生成一个列表出来的作为l1 = [2, 4]
。即每个内部列表的第二个元素列表。它可以是一个单独的列表,甚至字典可以修改为dict1['a'] = [2,4]
。生成从复杂的字典
Q
生成从复杂的字典
2
A
回答
2
- 所以有什么问题吗?!对的列表,那么这应该为你做它:
[pair[1] for pairlist in dict1.values() for pair in pairlist]
正如你可以看到:
dict1.values()
让你只值在你的字典,for pairlist in dict1.values()
让你对所有的名单,for pair in pairlist
让你所有对在每个名单中,- 和
pair[1]
让你的每对中的第二个值。
试试吧。 Python的外壳是你的朋友?
>>> dict1 = {}
>>> dict1['a'] = [[1,2], [3,4]]
>>> dict1['b'] = [[5, 6], [42, 69], [220, 284]]
>>>
>>> dict1.values()
[[[1, 2], [3, 4]], [[5, 6], [42, 69], [220, 284]]]
>>>
>>> [pairlist for pairlist in dict1.values()]
[[[1, 2], [3, 4]], [[5, 6], [42, 69], [220, 284]]]
>>> # No real difference here, but we can refer to each list now.
>>>
>>> [pair for pairlist in dict1.values() for pair in pairlist]
[[1, 2], [3, 4], [5, 6], [42, 69], [220, 284]]
>>>
>>> # Finally...
>>> [pair[1] for pairlist in dict1.values() for pair in pairlist]
[2, 4, 6, 69, 284]
,而我在这,我只想说:ipython爱你!
8
给出一个列表:
>>> lst = [ [1,2], [3,4] ]
你可以用一个简单的列表理解提取每个子列表的第二个元素:
>>> [x[1] for x in lst]
[2, 4]
如果你想在字典中做到这一点的每一个值,你可以迭代字典。我不知道你希望你的最终数据看起来像什么,但这样的事情可能会有所帮助:从字典
>>> dict1 = {}
>>> dict1['a'] = [ [1,2], [3,4] ]
>>> [(k, [x[1] for x in v]) for k, v in dict1.items()]
[('a', [2, 4])]
dict.items()
回报(键,值)对,作为一个列表。因此,这段代码将提取字典中的每个关键字,并将其与上面生成的列表进行配对。
0
列表出来的 第二个元素的每个内部列表
这听起来像[sl[1] for sl in dict1['a']]
的 - )假设在字典中的每个值是
相关问题
- 1. 生成从字典
- 2. 复杂的字典排序
- 3. 了解复杂的字典
- 4. 存储复杂的字典
- 5. 复杂生成的字符串
- 6. Python复杂字典键
- 7. 复制复杂的字典结构
- 8. 长期复杂的字符串转换成JSON或字典
- 9. 从Javascript中的复杂嵌套对象值生成字符串
- 10. 复杂查询生成器
- 11. 的Python:从转换Unicode字符串的复杂字典ASCII
- 12. Python |如何创建复杂的字典
- 13. Python复杂的字典排序
- 14. Swift更复杂的数组字典
- 15. Python3,订购一个复杂的字典
- 16. Erlang字典的时间复杂度
- 17. Scrapy。复杂结构的分析结果(字典字典)
- 18. 为字典生成字数
- 19. 从Stata数据生成字典文件
- 20. 从字典中随机生成字典Swift 2
- 21. 生成错误的复杂表格
- 22. 复杂的Java排列生成问题
- 23. 更复杂的范围生成
- 24. 生成复杂的树状JSON响应
- 25. 生成复杂的HEX ID与PHP
- 26. 生成复杂的SQL与任何ORM
- 27. python中的复杂生成器
- 28. 复杂的随机点生成
- 29. Java - 生成复杂的excel报告
- 30. 复杂python字典按值排序
而在Python 3中,可以在一个字典理解做到这一点,也是如此,如果一个字典结果应首选 - 看起来像:{K:[X [1] v中X]为K,V在dict1.items ()} – Anon 2009-09-01 20:09:40