我在这里有以下代码:
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
我将如何做到这一点?
答案 0 :(得分:2)
>>> for x in tel.values():
... for y in x:
... print ''.join(str(z) for z in y)
...
0011
0101
1011
1011
1000
1011
1011
答案 1 :(得分:1)
你可以这样做:
for key in tel:
for num in tel[key]:
print ''.join(str(n) for n in num)
对于您的示例,这将打印:
0011
0101
1011
1011
1000
1011
1011
答案 2 :(得分:0)
创建一个生成器表达式来遍历数据结构,然后只打印其内容。
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