如何在dict中以原始顺序返回键

时间:2011-09-26 22:57:58

标签: python dictionary

我正在读取文件并将信息存储在dict中,因为它从上到下读取。与原始文件相比,我不想以错误的顺序打印出来。

另外,一个非常小的问题:我记得在某个地方看到if和else语句的简短形式:

if a == 'a':
    a = 'b' ? a = 'c'  

你知道确切的形式吗?

感谢。

5 个答案:

答案 0 :(得分:7)

答案 1 :(得分:1)

您可以使用OrderedDict,或者您可以将数据存储在列表中并使用dict将其编入索引,或将其存储在dict中并将密钥保存在列表中。

答案 2 :(得分:0)

我不知道dict,但您正在寻找的简短形式是Does Python have a ternary conditional operator?

几乎所有语言都有三元运算符,你可以在wikipedia找到一些例子。但是,Python中的那个语法与链接的SO答案中解释的其他语法不同。

答案 3 :(得分:0)

Python词典是无序的(参见here)。

关于第二个问题,请参阅此previous answer

答案 4 :(得分:0)

第二个答案:a = 'b' if a == 'a' else 'c'(称为三元表达式)

第一个回答第二个:使用OrderedDict,可从2.7开始使用。

如果您无法使用,则可以: