删除Python中列表中某些字符的元素

-3 python list delete-row

我正在研究python脚本,我有很多问题.

我想知道是否可以从列表中删除元素,但只能删除某些字符的元素.

例如,我有列表: list1 = [SOFA_CONFORT, SOFA, CHAIR_CONFORT, CHAIR]

我想获得列表: list2 = [SOFA, CHAIR]删除以"_CONFORT"结尾的元素.

我不应该知道列表的元素,我希望脚本能够自己完成所有这些.

提前感谢您的回答.

ale*_*eju 6

这是列表理解的标准情况,带有一个if声明:

list1 = ["SOFA_CONFORT", "SOFA", "CHAIR_CONFORT", "CHAIR"]
list2 = [val for val in list1 if not val.endswith("_CONFORT")]
print(list2) # prints ['SOFA', 'CHAIR']
Run Code Online (Sandbox Code Playgroud)


Dee*_*ace 5

也可以使用filter:

list2 = filter(lambda x: not x.endswith('_CONFORT'), list1)
Run Code Online (Sandbox Code Playgroud)