簡體   English   中英

從嵌套字典打印

[英]Printing from nested dictionary

如何從嵌套字典中為所有key1打印1個特定值或select key2值? 我的代碼中的行沒有顯示任何內容。

敵人的例子 ,如何打印(單個值):

Canon-PS-G7-X-Mark-II` 

或(為所有key1選擇key2值):

Canon-PS-G7-X-Mark-II
Nikon-D5
Sony-alpha9

字典(部分)和代碼

config = {
    'g7': {},
    'd5': {},
    'a9': {},
}
config['g7']['cam_name'] = ('Canon-PS-G7-X-Mark-II')
config['d5']['cam_name'] = ('Nikon-D5')
config['a9']['cam_name'] = ('Sony-alpha9')

camtype = """
1 camera:
(config['g7']['cam_name'])

all cameras
(config[.]['cam_name'])

"""
print(camtype)

嘗試以下代碼:

config = {
'g7': {},
'd5': {},
'a9': {},
}
config['g7']['cam_name'] = ('Canon-PS-G7-X-Mark-II')
config['d5']['cam_name'] = ('Nikon-D5')
config['a9']['cam_name'] = ('Sony-alpha9')
camtype = """
1 camera:
({0})

all cameras
({1})

"""
single_camera = config['g7']['cam_name']
all_camera = ', '.join([config[k]['cam_name'] for k in config])
print(camtype.format(single_camera, all_camera))

輸出:

1 camera:
(Canon-PS-G7-X-Mark-II)

all cameras
(['Canon-PS-G7-X-Mark-II', 'Nikon-D5', 'Sony-alpha9'])

我相信別人可以做得比我好。

config = {
    'g7': {},
    'd5': {},
    'a9': {},
}
config['g7']['cam_name'] = ('Canon-PS-G7-X-Mark-II')
config['d5']['cam_name'] = ('Nikon-D5')
config['a9']['cam_name'] = ('Sony-alpha9')

camtype = """1 camera: %s""" %(config['g7']['cam_name']) #search up python print function
allcam = [ value['cam_name'] for key, value in config.items()] #creates list with all cameras
str_allcam = "all cameras " + ', '.join( str(p) for p in allcam) # prints all cameras with a comma seperator

print(camtype +"\n" + str_allcam) # outputs a two lines because of newline seperator

暫無
暫無

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

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