首页 > 解决方案 > Python list if else save

问题描述

例如,如果我有此列表:

list = [1, 2, 3, 4, 5, 6, 7]

我想替换例如x < 3 x = 'L'list = [L, L, 3, 4, 5, 6, 7]

if x < 3:
    list = [L, L, 3, 4, 5, 6, 7]
elif x > 2 x = 'S1':
    list = [L, L, S1, S1, S1, 6, 7]
elif x > 5 x = 'L':
    list = [L, L, S1, S1, S1, 'L', 'L']

关键是在每个 if 或 elif 之后保存我的列表。

标签: pythonlist

解决方案


听起来您想用'S1'大于 2 且不大于 5 的任何数字替换它;否则与'L'.

如果我正确理解您的问题,您可以使用list comprehension

lst = [1, 2, 3, 4, 5, 6, 7]
lst = ['S1' if 2 < x <= 5 else 'L' for x in lst]

结果:

['L', 'L', 'S1', 'S1', 'S1', 'L', 'L']

推荐阅读