如何在字典中按照原始顺序返回键值对

6

我正在读取一个文件,并将信息存储在字典中,因为它从上到下读取。我不想按错误顺序打印与原始文件相比。

另外,一个很小的问题:我记得在某个地方看到了 if 和 else 语句的简写:

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

你知道确切的表格是什么吗?
谢谢。

欢迎来到 Stack Overflow!这两个问题都很好,而且也很匹配;但由于你有两个问题,你应该分别在两个帖子中提问。 - SingleNegationElimination
5个回答

8

我的 Python 是 2.4 版本,这是为什么它没有 OrderedDict 模块的原因吗?我有 collections,但没有 OrderedDict。 - BPm
1
@BPm:你看到粗体字部分了吗?那里写着:“另请参阅 等效的 OrderedDict 配方,可在 Python 2.4 或更新版本上运行。” - Mark Byers

1

你可以使用OrderedDict,或者将数据存储在列表中并使用字典进行索引,或者将其存储在字典中并在操作时将键保存在列表中。


0

我不知道关于 dict 的事情,但你要找的简写形式是 Python 是否有三元条件运算符?

几乎每种语言都有三元运算符,你可以在 wikipedia 上找到一些例子。然而,在 Python 中的三元运算符与其他语言的语法不同,就像链接的 SO 答案中所解释的那样。


0

0
第二个问题的答案在前面:a = 'b' if a == 'a' else 'c'(也称为三元表达式)
第一个问题的答案在后面:使用OrderedDict,该数据结构自Python 2.7版本起可用。
如果你不能使用它,你可以:
- 将索引作为每个值的一部分来存储(比较繁琐) - 使用之前的Ordered Dictionary实现

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接