2015-08-24 167 views
-1

我是新来的蟒蛇,你的帮助将不胜感激。通过嵌套键循环:值对

1)I有一个数据结构

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

2)欲通过与 '从' 相关联Table和打印值循环。

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

如何实现这一目标?

回答

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的解决方案更容易阅读,但我无法抗拒您一时的困惑 - 并希望教您一些可能在其他情况下使用的概念。祝你好运,玩得开心! :)