我试图访问一个嵌套列表并打印出单词。我的问题是当我进入两层时,我只能打印字母而不能打印单词。我已经在网上找到了所有的例子
def company_info(companies):
# Complete the function here:
str = ""
for i in range(len(companies)) :
for j in range(len(companies[i])) :
str += f"{companies[i][j]}\n"
for k in range(len(companies[i][j])) :
str += f"{companies[i][j][k]}\n"
return str
# Sample function call
companies = [
['Dunder Mifflin',
['Management',
['CEO', 'Robert California'],
['Regional Manager', 'Michael Scott'],
['Assistant to the Regional Manager', 'Dwight Schrute']
],
['Sales',
['Salesman', 'Jim Halpert'],
['Salesman', 'Stanley Hudson'],
['Saleswoman', 'Phyllis Smith']
]
],
['Vance Refrigeration',
['Management',
['CEO', 'Bob Vance']
]
]
]
print(company_info(companies))
我正试图得到:
Dunder Mifflin
Management
Robert California - CEO
Michael Scott - Regional Manager
Dwight Schrute - Assistant Regional Manager
Sales
Jim Halpert - Salesman
Stanley Hudson - Salesman
Phyllis Vance - Saleswoman
Vance Refrigeration
Management
Bob Vance - CEO
但到目前为止,我只能得到:
Dunder Mifflin
D
u
n
d
e
r
M
i
f
f
l
i
n
['Management', ['CEO', 'Robert California'], ['Regional Manager', 'Michael Scott'], ['Assistant to the Regional Manager', 'Dwight Schrute']]
Management
['CEO', 'Robert California']
['Regional Manager', 'Michael Scott']
['Assistant to the Regional Manager', 'Dwight Schrute']
['Sales', ['Salesman', 'Jim Halpert'], ['Salesman', 'Stanley Hudson'], ['Saleswoman', 'Phyllis Smith']]
Sales
['Salesman', 'Jim Halpert']
['Salesman', 'Stanley Hudson']
['Saleswoman', 'Phyllis Smith']
Vance Refrigeration
V
a
n
c
e
R
e
f
r
i
g
e
r
a
t
i
o
n
['Management', ['CEO', 'Bob Vance']]
Management
['CEO', 'Bob Vance']
我认为如果使用更具代表性的名称和
for ... in
语法而不是使用索引,那么代码更容易理解:输出:
请注意,这将适用于在f字符串中不支持反斜杠的较早版本的python;另外,使用与内置类型重叠的变量名(
str
)通常不是一个好主意在每个嵌套步骤之后,您需要在切片列表上执行嵌套循环,如下所示:
其中打印:
以下是一个不同方法的想法:
相关问题 更多 >
编程相关推荐