Как заменить определенное целое число наименьшим индексом в списке - PullRequest
0 голосов
/ 12 октября 2018

У меня есть список [11, 12, 13, 14, 15, 16, 17, 18, 19, 13, 20 ,13], и я хочу превратить его в [11, 12, 100, 14, 15, 16, 17, 18, 19, 13, 20 ,13] (чтобы заменить 13 наименьшим индексом на 100).

Мой код:

lst= [11, 12, 13, 14, 15, 16, 17, 18, 19, 13, 20 ,13]
k='13 100'.split()
for i in range(len(lst)):
       if lst[i]== int(k[0]):
            lst[i]=int(k[1])
            break

Это работает, но я хотел бы знать другой метод, более простой и способный сократить время выполнения.Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 12 октября 2018
sp_int = 13
replace_value=100
lst= [11, 12, 13, 14, 15, 16, 17, 18, 19, 13, 20, 13]
if(sp_int in lst):
   lst[lst.index(sp_int)]=replace_value

Вышеуказанная программа решит вашу проблему.Оператор "in" ищет элемент и возвращает s true, если присутствует, иначе false.Функция index определяет индекс указанного целого числа в списке.

0 голосов
/ 12 октября 2018

Просто так:

lst= [11, 12, 13, 14, 15, 16, 17, 18, 19, 13, 20, 13]
lst[lst.index(13)] = 100

, который производит

[11, 12, 100, 14, 15, 16, 17, 18, 19, 13, 20, 13]

Теперь, если вы не уверены, что 13 содержится в вашем списке, вы можете обернутькод выше в блоке try-except:

try:
    lst[lst.index(13)] = 100
except ValueError:
    print('Value does not exist in list')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...