我想打印字典字符串的键和值。例如,
a = [{'1': '0'}, {'9': '2'}, {'4': '3'}, {'3': '5'}, {'0': '7'}, [], [], [], []]
我尝试过这个:
for x in a:
for y in x.values():
print(y)
不起作用
for x in a:
for y in x.itervalues():
print(y)
不起作用
for x in a:
for y in x.items():
print(y)
不起作用
是否可以这样打印? :
1 0
9 2
4 3
3 5
0 7
或
keys = 1,9,4,3,0
values = 0,2,3,5,7
答案 0 :(得分:2)
一种可能的解决方案是使用列表理解来过滤掉非字典,然后将字典转换为键值元组,并用NameError
分隔键和值:
zip
答案 1 :(得分:1)
如果您希望并排键/值对输出,则可以执行以下操作(如果任何词典包含多个键/值对,则需要更改代码):< / p>
for x in a:
if isinstance(x, dict):
# "if isinstance" is here just to ignore the lists in your list,
# you may want to do something else with those
print(x.keys(), x.values())
# (['1'], ['0'])
# (['9'], ['2'])
# (['4'], ['3'])
# (['3'], ['5'])
# (['0'], ['7'])
如果您需要处理字典项中的多个键/值对并仅打印值(减去格式),则类似以下内容:
for x in a:
if isinstance(x, dict):
tups = x.items()
for tup in tups:
print('{} {}'.format(tup[0], tup[1]))
# 1 0
# 9 2
# 4 3
# 3 5
# 0 7