Python:如何从字典创建两个列表
我有一个字典。
{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)
当然可以!请把你想要翻译的内容发给我,我会帮你把它变得更简单易懂。