Я думаю, что ваш вопрос многих смутил, потому что вы смешали синтаксис между dict и list.Если:
L = [] # L is synonym for list and [] (braces) used to create list()
Здесь вы ищете значение в списке, не ключ или значение в диктовке:
if x in L:
И тогда выиспользуйте x , казалось бы, предназначенный как ключ, но в списках это индекс int (), а выполнение if x in L:
не проверяет, находится ли индекс в L, но если значение в L:
L[x]=value
Так что, если вы намереваетесь увидеть, находится ли значение в L
, список сделайте:
L = [] # that's a list and empty; and x will NEVER be in an empty list.
if x in L: # that looks for value in list; not index in list
# to test for an index in a list do if len(L)>=x
idx = L.index(x)
L[idx] = something # that makes L[index]=value not L[key]=value
else:
# x is not in L so you either append it or append something_else
L.append(x)
Если вы используете: L[x] = something
вместе с if x in L:
, тогда имеет смысл иметьсписок только с этими значениями: L=[ 0, 1, 2, 3, 4, ...]
ИЛИ L=[ 1.0, 2.0, 3.0, ...]
Но я бы предложил это:
L = []
L.extend(my_iterable)
coder0 = 'farr'
coder1 = 'Mark Byers'
if coder0 not in L:
L.append(coder1)
Странная логика