我想要做的是从我的列表中删除具有某些重复部分的字符串元素。例如,如果我给出了列表。
ls = ['02/27/1960', '07/21/2004', '08/13/2004', '09/12/2004', '02/27', '07/21', '08/13']
我想要输出为
ls_out = ['02/27/1960', '07/21/2004', '08/13/2004', '09/12/2004']
即 '02/27' 已经存在于 '02/27/1960' 中。
(注意我不确定这个问题是否重复)
请您参考如下方法:
这也可以通过 for 循环和 any 来解决内置方法:
>>> ls
['02/27/1960', '07/21/2004', '08/13/2004', '09/12/2004', '02/27', '07/21', '08/13']
>>>
>>> ls_out = []
>>>
>>> for x in ls:
if not any([x in item for item in ls_out]):
ls_out.append(x)
>>> ls_out
['02/27/1960', '07/21/2004', '08/13/2004', '09/12/2004']
或者:
>>> for x in ls:
if all([x not in item for item in ls_out]):
ls_out.append(x)
>>> ls_out
['02/27/1960', '07/21/2004', '08/13/2004', '09/12/2004']
