簡體   English   中英

在Python中逐行打印字典的值

[英]Printing out values of a dictionary line by line in Python

我在這里有以下代碼:

tel = {2: [[0, 0, 1, 1], [0, 1, 0, 1]], 3: [[1, 0, 1, 1], [1, 0, 1, 1], [1, 0, 0, 0], [1, 0, 1, 1], [1, 0, 1, 1]]}

for i in tel.values():
    a = ''.join(map(str,i)) 

    print a

字典tel由鍵組成,這些鍵是鍵值中1的數目(這里是二進制列表)。 鍵的值可以具有多個(在這種情況下,它們是一個或多個)

這就是逐行打印屬於每個鍵的值。

我的目標:

我想打印每個值的字符串版本。

在上面的示例中,我希望輸出為:

0011
0101
1011
1011
1000
1011
1011

我將如何完成?

>>> for x in tel.values():
...     for y in x:
...             print ''.join(str(z) for z in y)
... 
0011
0101
1011
1011
1000
1011
1011

您可以這樣做:

for key in tel:
    for num in tel[key]:
        print ''.join(str(n) for n in num)

對於您的示例,將打印:

0011
0101
1011
1011
1000
1011
1011

創建一個生成器表達式以遍歷數據結構,然后僅打印其內容。

val_gen = (''.join(map(str,v)) for vs in tel.values() for v in vs)

for v in val_gen:   # Or sorted(val_gen) if order matters.
    print v

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM