У меня есть данные, что выглядит следующим образом:Могу ли я расширить список списков в python?
[[1, 100313], [2, 100313], [1, 100314], [3, 100315]]
Со всем в формате строки (в противном случае я не могу итерацию)
Я хочу, чтобы запустить цикл, который смотрит через эти элементы и продолжается с [ 0, 0, 1], если он видит, второй элемент в списке, как 100313. Таким образом, в конечном счете, это будет выглядеть следующим образом:
[[1, 100313, 0, 0, 1], [2, 100313, 0, 0, 1], [1, 100314], [3, 100315]]
Я запустить цикл, который выглядит следующим образом:
for x, y in list:
if y == 100313:
list.extend([0,0,1])
и он не меняет этот список вообще. Почему это?
Вы, кажется, перебираете внешний список. Это для цикла разрушает внутренний список в x и y, если внутренний список имеет ровно два элемента. Но затем, когда вы пытаетесь расширить, вы вызываете расширение на ** внешний ** список. Попробуйте сделать переменную цикла весь внутренний список и проверить на 100313 в этом. Затем вызов продолжится во внутреннем списке. – zstewart