Я хотел бы нарезать набор в списке, но каждый раз, когда я делаю это, я получаю пустой список в ответ.python slice set in list
то, что я пытаюсь выполнить (может быть, есть более простой способ):
- я получил список наборов
- каждый комплект имеет 5 пунктов
- я хотел бы сравнить новый набор против список (если набор уже существует в списке)
- первый и последний элемент в наборе не имеет значения для сравнения, поэтому для поиска уже существующих наборов действительны только позиции 2-4
здесь не мой код:
result_set = ['1', '2', '3', '4', '5']
result_matrix = []
result_matrix.append(result_set)
нарезка набор не является проблемой:
print result_set[1:4]
['2', '3', '4']
print result_matrix[:][1:4]
[]
я бы ожидать:
[['2', '3', '4']]
Вы имели в виду 'result_matrix [0] [1: 4]' вместо 'result_matrix [:] [1: 4]'? ИЛИ 'result_matrix.extend (result_set)' вместо 'result_matrix.append (result_set)'? – falsetru
проблема заключается в том, что result_matrix [:] == result matrix. result_matrix имеет только один результат в нем, 0-й. Вы просите его, чтобы первый результат был установлен через 4-й результирующий набор, который является пустым. – turbulencetoo
Я чувствую чувство долга, чтобы указать на это: 'result_set' - это список, а не набор. – SethMMorton