Python:如何从字典创建两个列表

4 投票
8 回答
2425 浏览
提问于 2025-04-15 16:02

我有一个字典。

{1 : [1.2, 2.3, 4.9, 2.0],  2 : [4.1, 5.1, 6.3],  3 : [4.9, 6.8, 9.5, 1.1, 7.1]}

我想把字典里的每一个键值对传给 matplotlib.pyplot,作为两个列表:一个是x值,另一个是y值。

每个键都是一个x值,它和它对应的值里的每个项目相关联。

所以我想为每个键准备两个列表:

[1,1,1,1] [1.2,2.3,4.9,2.0]

[2,2,2] [4.1,5.1,6.3]

[3,3,3,3,3] [4.9,6.8,9.5,1.1,7.1]

有没有什么简单的方法可以做到这一点?

或者说,有没有办法把字典直接传给 matplotlib.pyplot

相关问题:

8 个回答

2

也许可以这样做:

d = {1 : [1.2, 2.3, 4.9, 2.0], 2 : [4.1, 5.1, 6.3], 3 : [4.9, 6.8, 9.5, 1.1, 7.1]}
result = []
for key, values in d.items():
    result.append(([key]*len(values), values))
3
d = {1 : [1.2, 2.3, 4.9, 2.0], 2 : [4.1, 5.1, 6.3], 3 : [4.9, 6.8, 9.5, 1.1, 7.1]}

res = [([x]*len(y), y) for x, y in d.iteritems()]

res将会是一个包含多个元组的列表,每个元组的第一个元素是你的x值列表,第二个元素是你的y值列表。

13
for k, v in dictionary.iteritems():
    x = [k] * len(v)
    y = v
    pyplot.plot(x, y)

当然可以!请把你想要翻译的内容发给我,我会帮你把它变得更简单易懂。

撰写回答