遍历嵌套的 key:value 对

Looping through nested key:value pairs

我是 python 的新手,非常感谢您的帮助。

1) 我有一个数据结构

Table = {'1': {'From': 'A', 'To': 'B'}, '2': {'From': 'C', 'To': 'D'}}

2) 我想遍历 Table 并打印与 'From'.

关联的值

3) 我希望输出为 -> A C

如何实现?

for v in Table.values():
    print v["From"]
>>> table = {'1': {'From': 'A', 'To': 'B'}, '2': {'From': 'C', 'To': 'D'}}
>>> print ' '.join(row['From'] for row in table.values())
A C

那我在这里做什么?

  • (row['From'] for row in table.values()) 东西是 generator expression。它创建一个生成器(类似于其他语言中的迭代器)。
  • 我们将这个生成器发送到 join(),它是 str class 中的一个函数:它接受任何可迭代的东西(列表、元组、生成器...)并创建一个字符串包含所有元素...
  • ...由我们调用它的字符串分隔(在本例中为单个 space,但它可以是任何字符串)。

当然,@YOBA 的解决方案更容易阅读,但我还是忍不住让你困惑了一会儿——希望能教给你一些可能在其他情况下有用的概念。祝你好运,玩得开心! :)