从字典列表中打印数据/值,而字典又包含列表和字典

时间:2020-09-04 03:51:50

标签: python

我有一个字典列表,而字典又得到了包含字典的列表。 我想在一行中打印列表中每个项目的所有值。如何得到这个? 我无法得到这个。 到目前为止,您能够以2行为一组打印数据

lst1=[
{'key1':'45','key2':'56', 'key3':[{'key4':'43','key5':'64', 'key9': 'ds', 'key10': 'as'},{'key6':'32'}], 'key7':'4r','key8':'h5'},
      {'key1':'ht','key2':'nm', 'key3':[{'key4':'lk','key5':'mm', 'key9': 'bv', 'key10': 'mk'},{'key6':'lo'}], 'key7':'ok','key8':'gh'},
      {'key1':'lp','key2':'ng', 'key3':[{'key4':'lk','key5':'jj', 'key9': 'ds', 'key10': 'kkl'},{'key6':'ki'}], 'key7':'nb','key8':'ip'},
      {'key1':'7y','key2':'jh', 'key3':[{'key4':'45','key5':'cv', 'key9': '3e', 'key10': 'lp'},{'key6':'lm'}], 'key7':'xz','key8':'jg'}]
x=[]

for j in range(len(lst1)):
        x.append(lst1[j]['key3'])
for g in range(len(lst1)):
    print (lst1[g]['key1'], lst1[g]['key7'])
for h in range(len(x)):
            print(x[h][0]['key4'], x[h][0]['key5'], x[h][1]['key6'], x[h][0]['key9'] )
                  

当前输出:

45 4r
ht ok
lp nb
7y xz
43 64 32 ds
lk mm lo bv
lk jj ki ds
45 cv lm 3e

请让我知道如何获得所需的输出(最后3行要加上前3行)

45 4r 43 64 32 ds
ht ok lk mk bv mm
lp nb lk jj ki ds
7y xz 45 cv lm 3e

我尝试在第1个set循环内打印第2个set,但这没用

for j in range(len(lst1)):
        x.append(lst1[j]['key3'])
for g in range(len(lst1)):
    print (lst1[g]['key1'], lst1[g]['key7'])
    for h in range(len(x)):
            print(x[h][0]['key4'], x[h][0]['key5'], x[h][1]['key6'], x[h][0]['key9'] )        

1 个答案:

答案 0 :(得分:0)

我能够通过以下方式获得所需的输出:

for g in range(len(lst1)):
    print (lst1[g]['key1'], lst1[g]['key7'], x[g][0].get('key4'), x[g][0].get('key5'), x[g][1].get('key6'), x[g][0].get('key9'))
Output
======
45 4r 43 64 32 ds
ht ok lk mm lo bv
lp nb lk jj ki ds
7y xz 45 cv lm 3e
>>>