2015-03-12 2 views
-1

Я хотел бы заменить элемент в списке другим элементом в списке (конкретным, после него). В настоящее время я не могу найти процедуру для выполнения этой задачи.Как выбрать элемент в списке, затем выбрать предыдущий

+0

Вы хотите поменять форму, указав индекс? –

+3

пример был бы лучше. А также покажите свои попытки. –

+0

Вы меняете предметы или копируете? Что происходит, когда выбранный элемент для замены является последним элементом в списке? Нам действительно нужно увидеть пример ввода и вывода. – aruisdante

ответ

0

Просто переключитесь с помощью индексов:

your_list[i], your_list[i + 1] = your_list[i + 1], your_list[i] 
0

Ну, если у вас есть индекс, то это просто

l = [1,2,3,4,5] 
index = # get the index of the item 
l[index], l[index - 1] = l[index - 1], l[index] 
+2

Товар после, в зависимости от проблемы. В противном случае это тот же ответ, который я дал. –

-1
lists = [')', 'E'] 

for i in lists: 
    if i == ')': 
     lists[0] = 'E' 

print lists 
'['E', 'E']' 
+1

Список должен иметь возможность выбирать из самого списка, а не путем ввода буквы (фиксированной) в код, который вы сделали. –

0

Если вы хотите изменить итерацию (список), то вы следует использовать копию: нотация среза [:].

my_list = ['(', 'E'] 
for i, item in enumerate(my_list[:]): 
    if item == '(': 
     # replace it with the item next to it 
     my_list[i] = my_list[i+1] 

Вы также должны использовать tryexcept блок- поймать возможный KeyError в случае, если деталь вы ищете является последней в списке.

Смежные вопросы