Python - 嵌套列表 - 调用子列表的嵌套索引
Python - Nested lists - Call nested indexes of sublist
我有一个包含嵌套子列表的列表,如下所示:
my_list = {'active': {'type': 'boolean', 'string': 'Active'}, 'name': {'type': 'char', 'string': 'Title'}, 'description': {'type': 'html', 'string': 'Description'}, 'priority': {'type': 'selection', 'string': 'Priority'}, 'product': {'type': 'char', 'help': 'Selected product by user', 'string': 'Product'}}
您会注意到子列表的内容并不总是相同:'type'
、'string'
,有时 'help'
。
我可以运行一个基本的for
循环来显示列表的元素:
for i in my_list:
print(i)
哪个 returns 对我来说:
active
name
description
priority
product
但是我怎样才能遍历子列表的项目呢?我想我需要嵌套另一个 for
循环。
我想显示具体信息,例如:
- Active: active, boolean
- Title: name, char
- Description: description, html
- Priority: priority, selection
- Product: product, char, Selected product by user
所以第一件事。这不是一个列表。这是 Python 中的嵌套字典或 dict
。这是向您展示差异的 link:Difference between List and Dictionary in Python
您可以通过键名引用字典元素。例如:
my_list['active'] # {'type': 'boolean', 'string': 'Active'}
或者当您不确定特定密钥是否存在时,请使用 get()
方法。如果没有具有指定名称的密钥,它将 return None
。要获得您想要的输出,这里有一个快速解决方案:
for elem in my_list:
output = f'{my_list[elem]["string"]}: {elem}, {my_list[elem]["type"]}'
is_help = my_list[elem].get("help")
if is_help:
output = f'{output}, {is_help}'
print(output)
这将被打印:
Active: active, boolean
Title: name, char
Description: description, html
Priority: priority, selection
Product: product, char, Selected product by user
我有一个包含嵌套子列表的列表,如下所示:
my_list = {'active': {'type': 'boolean', 'string': 'Active'}, 'name': {'type': 'char', 'string': 'Title'}, 'description': {'type': 'html', 'string': 'Description'}, 'priority': {'type': 'selection', 'string': 'Priority'}, 'product': {'type': 'char', 'help': 'Selected product by user', 'string': 'Product'}}
您会注意到子列表的内容并不总是相同:'type'
、'string'
,有时 'help'
。
我可以运行一个基本的for
循环来显示列表的元素:
for i in my_list:
print(i)
哪个 returns 对我来说:
active
name
description
priority
product
但是我怎样才能遍历子列表的项目呢?我想我需要嵌套另一个 for
循环。
我想显示具体信息,例如:
- Active: active, boolean
- Title: name, char
- Description: description, html
- Priority: priority, selection
- Product: product, char, Selected product by user
所以第一件事。这不是一个列表。这是 Python 中的嵌套字典或 dict
。这是向您展示差异的 link:Difference between List and Dictionary in Python
您可以通过键名引用字典元素。例如:
my_list['active'] # {'type': 'boolean', 'string': 'Active'}
或者当您不确定特定密钥是否存在时,请使用 get()
方法。如果没有具有指定名称的密钥,它将 return None
。要获得您想要的输出,这里有一个快速解决方案:
for elem in my_list:
output = f'{my_list[elem]["string"]}: {elem}, {my_list[elem]["type"]}'
is_help = my_list[elem].get("help")
if is_help:
output = f'{output}, {is_help}'
print(output)
这将被打印:
Active: active, boolean
Title: name, char
Description: description, html
Priority: priority, selection
Product: product, char, Selected product by user