Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 打印字典列表中的数据/值,该列表依次包含列表和字典_Python - Fatal编程技术网

Python 打印字典列表中的数据/值,该列表依次包含列表和字典

Python 打印字典列表中的数据/值,该列表依次包含列表和字典,python,Python,我有一张字典的清单,而这张清单又有一本字典。 我想在一行中打印列表中每个项目的所有值。如何得到这个? 我无法得到这个。 到目前为止,u能够在一组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',

我有一张字典的清单,而这张清单又有一本字典。 我想在一行中打印列表中每个项目的所有值。如何得到这个? 我无法得到这个。 到目前为止,u能够在一组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行)

我曾尝试在第一套循环中打印第二套,但没有成功

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'] )        

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

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'))

你能试着用似乎有意义的名称和值来编写代码吗?这很抽象,很难理解。“请让我知道如何获得设计输出(最后3行加上前3行)”
ht ok
部分发生了什么事?有什么规则告诉我,
ht ok
是要忽略的行,而不是前4行中的一行?根据您的代码,应该输出
ht ok
。只需使用
print(lst1[g]['t1'],lst1[g]['t7'],end='')即可。
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
>>>