Я хотел бы переместить более одного элемента из одного списка в другой.Как я могу переместить более одного элемента из одного списка в другой в Python
list1 = ['2D',' ',' ',' ',' ',' ',' ',' ',' ']
list2 = ['XX','XX','5D','4S','3D',' ',' ',' ',' ']
list3 = ['XX','XX','XX','8C','7H','6C',' ',' ',' ']
В приведенных выше ' '
кодах двойного пространство
Я хотел бы иметь возможность двигаться '5D','4S','3D'
из list2
на '8C','7H','6C'
в list3
.
Я пробовал код ниже, но он не работает.
list1 = ['2D',' ',' ',' ',' ',' ',' ',' ',' ']
list2 = ['XX','XX','5D','4S','3D',' ',' ',' ',' ']
list3 = ['XX','XX','XX','8C','7H','6C',' ',' ',' ']
items_to_be_moved = list2[list2.index('XX')+2 : list2.index(' ')]
list3[list3.index(' ')] = items_to_be_moved
del list2[list2.index('XX')+2 : list2.index(' ')]
print('list2',list2)
print('list3',list3)
и это возвращает
list2 ['XX', 'XX', ' ', ' ', ' ', ' ']
list3 ['XX', 'XX', 'XX', '8C', '7H', '6C', ['5D', '4S', '3D'], ' ', ' ']
Однако, я не хочу использовать list2.index('XX')+2
, я хотел бы использовать код, который дает последний индекс 'XX'
так же, как list2.index(' ')
дает первый индекс ' '
.
Кроме того, я не хочу, чтобы перемещенные элементы были в отдельном списке в другом списке. Например: вместо того, чтобы вернуться
"list3 ['XX', 'XX', 'XX', '8C', '7H', '6C', ['5D', '4S', '3D'], ' ', ' ']"
список
"list3 ['XX', 'XX', 'XX', '8C', '7H', '6C','5D', '4S', '3D', ' ', ' ']"
должны быть возвращены.
Я хотел бы использовать индексирование, потому что это должно использоваться в функции. –
Это не решает вопрос об автоответчике о динамическом поиске последнего индекса «xx» – alonisser
@CodeBisector Я добавил, как найти индекс. – agf