список-опция:
mylist = ['a', 'b', 'c']
new_list = [x if x not in "ab" else "z" for x in mylist]
print(new_list) # ['z', 'z', 'c']
, если элементы, которые вы хотите заменить, более сложные, вы можете попробовать:
if x not in {"a", "b"}
, если вы хотите изменить вещи, основанные на индексе i
, вы можете использовать enumerate
:
new_list = [x if i >= 2 else "z" for i, x in enumerate(mylist)]
print(new_list) # ['z', 'z', 'c']
, но тогда вы можете рассмотреть нарезку :
new_list = 2 * ["z"] + mylist[2:]