У меня есть этот код:прилагая к многомерного массива в Python
philips_trousers = []
for i in range(0, 5):
philips_trousers.append(["T"] * 5)
philips_trousers.append(["R"] * 5)
philips_trousers.append(["O"] * 5)
philips_trousers.append(["U"] * 5)
philips_trousers.append(["S"] * 5)
philips_trousers.append(["E"] * 5)
philips_trousers.append(["R"] * 5)
philips_trousers.append(["S"] * 5)
print philips_trousers
которая выводит следующее:
[['T', 'T', 'T', 'T', 'T'], ['R', 'R', 'R', 'R', 'R'], ['O', 'O', 'O', 'O', 'O'], ['U', 'U', 'U', 'U', 'U'], ['S', 'S', 'S', 'S', 'S'], ['E', 'E', 'E', 'E', 'E'], ['R', 'R', 'R', 'R', 'R'], ['S', 'S', 'S', 'S', 'S'], ['T', 'T', 'T', 'T', 'T'], ['R', 'R', 'R', 'R', 'R'], ['O', 'O', 'O', 'O', 'O'], ['U', 'U', 'U', 'U', 'U'], ['S', 'S', 'S', 'S', 'S'], ['E', 'E', 'E', 'E', 'E'], ['R', 'R', 'R', 'R', 'R'], ['S', 'S', 'S', 'S', 'S'], ['T', 'T', 'T', 'T', 'T'], ['R', 'R', 'R', 'R', 'R'], ['O', 'O', 'O', 'O', 'O'], ['U', 'U', 'U', 'U', 'U'], ['S', 'S', 'S', 'S', 'S'], ['E', 'E', 'E', 'E', 'E'], ['R', 'R', 'R', 'R', 'R'], ['S', 'S', 'S', 'S', 'S'], ['T', 'T', 'T', 'T', 'T'], ['R', 'R', 'R', 'R', 'R'], ['O', 'O', 'O', 'O', 'O'], ['U', 'U', 'U', 'U', 'U'], ['S', 'S', 'S', 'S', 'S'], ['E', 'E', 'E', 'E', 'E'], ['R', 'R', 'R', 'R', 'R'], ['S', 'S', 'S', 'S', 'S'], ['T', 'T', 'T', 'T', 'T'], ['R', 'R', 'R', 'R', 'R'], ['O', 'O', 'O', 'O', 'O'], ['U', 'U', 'U', 'U', 'U'], ['S', 'S', 'S', 'S', 'S'], ['E', 'E', 'E', 'E', 'E'], ['R', 'R', 'R', 'R', 'R'], ['S', 'S', 'S', 'S', 'S']]
До сих пор так хорошо, вы, вероятно, думаете, но я что-то интересно - почему Python заполняет philips_trousers
так, как это делается? То есть, почему функция append()
создает новые дочерние массивы с формой ['T', 'T', 'T', 'T', 'T']
, ['R', 'R', 'R', 'R', 'R']
и т. Д., А не: ['T', 'R', 'O', 'U', 'S', 'E', 'R', 'S']
?
Почему вы ожидаете '['T', 'R', 'O', 'U', 'S', 'E', 'R', 'S']'? – user2357112
Hhhhhmmm, это сложно выразить словами, но я думаю, что я ожидал, что он создаст пять дочерних массивов и заполнит их [«T»], затем добавит [«R»] к этим массивам и т. Д. И т. Д. –
Вы вызываете 'append' в список' philips_trousers', а не в его подсписках. Вы не собираетесь присоединяться к подспискам списка. – user2357112