我需要使用while循环打印嵌套列表。任何使用for循环都会给予惩罚。 我的功能输出与所需的输出不匹配。
例如:
print_names2([['John', 'Smith'], ['Mary', 'Keyes'], ['Jane', 'Doe']])
打印出来(必需的输出):
John Smith
Mary Keyes
Jane Doe
我的功能:
def print_names2(people):
name = 0
while name < len(people):
to_print = ""
to_print = people[name]
print(to_print)
name += 1
打印出来:
['John', 'Smith']
['Mary', 'Keyes']
['Jane', 'Doe']
如何删除列表和字符串?
答案 0 :(得分:2)
您可以使用两个嵌套的while循环:
def print_names2(people):
i = 0
while i < len(people):
sub_list = people[i]
j = 0;
while j < len(sub_list):
print(sub_list[j], end=' ')
j += 1;
i += 1
print_names2([['John', 'Smith'], ['Mary', 'Keyes'], ['Jane', 'Doe']])
# John Smith Mary Keyes Jane Doe
答案 1 :(得分:1)
这个people[name]
给出了一个列表&amp;这就是你在输出中看到列表的原因。你必须获取people [name] list的元素。
def print_names2(people):
i = 0
while i < len(people):
print " ".join(people[i])
i += 1
答案 2 :(得分:0)
print '\n'.join([" ".join(i) for i in people])
或
将您的print(to_print)
更改为print(" ".join(to_print))