使用for循环迭代列表

时间:2014-08-07 12:09:21

标签: python python-2.7 for-loop

代码:

d = ["my", "name", "is", "abc"]
a  = {x: x*2 for x in d}
print a

输出:

{'is': 'isis', 'abc': 'abcabc', 'my': 'mymy', 'name': 'namename'}

输出不是“d”列表的顺序。

我也试过这个:

a = collections.Ordered({x: x*2 for x in d})

但无法得到预期的结果。

如何使用与“d”列表相同的元素生成字典?

1 个答案:

答案 0 :(得分:5)

这有效:

OrderedDict([(x, x*2) for x in d])

输出:

OrderedDict([('my', 'mymy'), ('name', 'namename'), ('is', 'isis'), ('abc', 'abcabc')])