【发布时间】:2020-05-24 14:18:45
【问题描述】:
我想用来自
的输出替换来自listoflist = [[None, None, None]] 的项目
def _execute():
user_input = input("type in: ")
return user_input
不创建新列表
def insertdata(data): 正在这样做。它从第一个值开始,一直持续到最后一个值
def insertdata(data):
data_added = False
n = len(listoflist[0])
index = 0
while not data_added and index != n:
if listoflist[0][index] is None:
listoflist[0][index] = data
data_added = True
else:
index += 1
if index == n:
print("\n The list is full, No more elements will be added \n")
while True:
insertdata(_execute())
print(listoflist)
我想扩展该函数以遍历具有多行的嵌套列表。
if 语句应该有什么条件才能从第一行开始执行内部循环`?
def double_loop(data):
data_added_outer = False
index_outer = 0
n_out = len(listoflist)
# outer loop
while not data_added_outer and index_outer < n_out:
if: # what condition ?
#### inner loop ###############
data_added_inner = False
n_inner = len(listoflist[index_outer])
index_inner = 0
while not data_added_inner and index_inner != n_inner:
if listoflist[index_outer][index_inner] is None:
listoflist[index_outer][index_inner] = data
data_added = True
else:
index_inner += 1
if index_inner == n_inner:
print("\n The list is full, No more elements will be added \n")
####### inner ############################################################
else:
index_outer += 1
if index_outer == n_out:
print("\n The list is full, No more elements will be added \n")
【问题讨论】:
-
你可以使用嵌套的for循环来简化一切。
-
但是使用您的方法看到它,您不需要外循环的条件,因为添加“数据”的唯一条件是该项目必须是“无”,并且可以只能从内部循环中完成。