循环嵌套键:值对

时间:2015-08-24 18:58:07

标签: python python-2.7 loops python-3.x nested-loops

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

1)我有一个数据结构

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

2)我想遍历Table并打印与'From'相关联的值。

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

我如何实现这一目标?

2 个答案:

答案 0 :(得分:3)

for v in Table.values():
    print v["From"]

答案 1 :(得分:0)

>>> 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类中的一个函数:它接受任何可迭代的东西(列表,元组,生成器......)并创建一个包含所有元素的字符串。 ..
  • ...由我们调用它的字符串分隔(在这种情况下是一个空格,但它可以是任何字符串)。

当然,@ YOBA的解决方案更容易阅读,但我暂时无法让你感到困惑 - 并希望教你一些可能在其他情况下使用的概念。祝你好运,玩得开心! :)