Python 使用for循环迭代列表

Python 使用for循环迭代列表,python,python-2.7,for-loop,Python,Python 2.7,For Loop,代码: 输出: d = ["my", "name", "is", "abc"] a = {x: x*2 for x in d} print a 输出不符合“d”列表的顺序 我也试过: {'is': 'isis', 'abc': 'abcabc', 'my': 'mymy', 'name': 'namename'} 但是没有得到预期的结果 如何生成元素顺序与“d”列表相同的字典 这是有效的: a = collections.Ordered({x: x*2 for x in d}) 输出:

代码:

输出:

d = ["my", "name", "is", "abc"]
a  = {x: x*2 for x in d}
print a
输出不符合“d”列表的顺序

我也试过:

{'is': 'isis', 'abc': 'abcabc', 'my': 'mymy', 'name': 'namename'}
但是没有得到预期的结果

如何生成元素顺序与“d”列表相同的字典

这是有效的:

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

OrderedDict([(x, x*2) for x in d])
这项工作:

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

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

字典没有顺序。
A=[(x,x*2)对于d中的x]
能做这项工作吗?正如蒂乔德罗马所说,dict没有顺序(ordereddeddict除外)。字典没有顺序。
a=[(x,x*2)for x in d]
可以完成这项工作吗?正如蒂乔德罗马所说,dict没有顺序(ordereddeddict除外)。