基于两个条件创建列表
问题描述:
我试图根据用户的数据创建列表。这个数据是一个16道问题调查,所以我想把数据分成16个答案的列表,或者是一个列表,只是我的代码如下图所示。基于两个条件创建列表
studentanswers = []
contains_data = False
temp = []
for i in answers:
if i == 'No data available':
if contains_data:
studentanswers.append(temp)
temp = []
studentanswers.append([i])
contains_data = False
else:
studentanswers.append([i])
else:
contains_data = True
if len(temp) < 16:
temp.append(i)
else:
studentanswers.append(temp)
temp = []
contains_data = False
但是,当我迭代时,数据得到正确的计数,并且一些数据被分配给错误的用户。例如,对于学生1个问题16将成为问题1学生2
答
尝试沿着这些路线的东西:
while answers:
if answers[0] = 'No data available':
studentanswers.append(['No data available'])
answers = answers[1:]
else:
studentanswers.append(answers[:16])
answers = answers[16:]
答
你的问题不清楚,如果我这样做是正确,你想要的清单每个学生的答案。
如果是这样的话,那么这应该足够了:
studentanswers = list()
for x in range(len(answers)/16):
sudentsanswers.append(list(answers[y*16:(y+1)*16])
这里假设你有每个学生16个回答。
编辑,我刚才看到你的其他评论,这将工作:
studentanswers = list()
studentanswers.append(list())
c = int(0)
for x in range(len(answers)):
if (c<16 && x != "No data available"):
studentanswers[len(studentanswers)-1].append(x)
c+=1
else:
c=0
studentanswers.append(list())
studentanswers[len(studentanswers)-1].append(x)
if x == "No data available":
studentanswers.append(list())
目前还不清楚你问什么。请分享示例输入和预期输出。 – janos