您忘记了
people再次索引;您只打印索引。您还希望遍历 所有 条目,
people而不仅仅是第一个子列表中的名称:
def print_names2(people): i = 0 while i < len(people): print(people[i]) i += 1
这仅循环 外部 列表。如果要循环访问内部子列表,请添加第二个
while循环:
def print_names2(people): i = 0 while i < len(people): j = 0 while j < len(people[i]) print(people[i][j]) j += 1 i += 1
所有这些都 直接
打印名称,所有名称将以换行结尾,而不是每个子列表以空格隔开的形式打印在每个子列表上。如果需要复制字符串构建,请这样做,直到内部
while循环结束后才打印:
def print_names2(people): i = 0 while i < len(people): to_print = "" j = 0 while j < len(people[i]) to_print += people[i][j] + " " j += 1 print(to_print) i += 1
现在,这与带有
for循环的原始版本最接近。
替代版本可以创建列表的副本,然后从这些列表中 删除项目 ,直到它们为空:
def print_names2(people): i = 0 while i < len(people): person = list(people[i]) to_print = "" while person: name = person.pop(0) to_print += name + " " print(to_print) i += 1
我使用索引离开了外循环。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)