Извините, я довольно новичок в python, но мне нужно было взять 6 отдельных списков и объединить их так, чтобы они были похожи на список списков.Почему я не могу перебирать список списков таким образом?
т.е. a1 из списка A + b1 из списка B + c1 из списка C и a2 из списка А + b2 .... и т.д.
должен стать [[a1, b1, c1], [a2, b2, c2] ...]
Я попытался это:
combList = [[0]*6]*len(lengthList)
for i in range(len(lengthList)):
print i
combList[i][0] = posList[i]
combList[i][1] = widthList[i]
combList[i][2] = heightList[i]
combList[i][3] = areaList[i]
combList[i][4] = perimList[i]
combList[i][5] = lengthList[i]
# i++
print combList
, а затем попробовал вариант, в котором я прилагаемую вместо:
for i in range(len(lengthList)):
print i
combList[i][0].append(posList[i])
combList[i][1].append(widthList[i])
combList[i][2].append(heightList[i])
combList[i][3].append(areaList[i])
combList[i][4].append(perimList[i])
combList[i][5].append(lengthList[i])
# i++
print combList
Итак, у меня есть два вопроса.
Почему ни один из них не работал, как мне кажется. И мне не нужно ставить i ++ внизу справа? По какой-то причине он просто не работал, поэтому я просто стрелял.
В итоге я нашел решение, которое ниже, но я просто хотел бы понять, что произошло в двух вышеуказанных кодах, которые так ужасно потерпели неудачу.
for j in range(len(fNameList)):
rows = [fNameList[j], widthList[j], heightList[j], areaList[j], perimeterList[j], lengthList[j]]
print rows
combList.append(rows)
print combList
я вижу! Большое вам спасибо. Никогда не знал о «именах» python, и я думал, что zip должен был просто объединить 2 списка в кортежи, но теперь я знаю. – loonyuni