2015-08-24 231 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的解決方案更容易閱讀,但我無法抗拒您一時的困惑 - 並希望教您一些可能在其他情況下使用的概念。祝你好運,玩得開心! :)