你可以在Python 2.7中通过非数字字符从列表中删除项目吗?

时间:2015-09-15 14:48:29

标签: python python-2.7

所以我的列表可能会在将来更新,但我不想打印出所有结果。我想限制打印到不包含" +"的项目的列表。签名或"。",只留下我想要的名字的文件夹。

myList = ['+Map_Design', 'for_pl', 'land_comm', 'FILE LIST - Shortcut (2).lnk', 
          'SiteLocatorMap.mxd', 'Thumbs.db']

我尝试过使用...

[x for x in myList if not '.' in x]

[x for x in myList if not . in x]
没有运气。这是我试图删除(。,+)或我使用错误代码的字符的问题。

我正在寻找的是一个仅包含[' for_pl',' land_comm']的列表。

1 个答案:

答案 0 :(得分:2)

我猜测你的完整代码是

myList = ['+Map_Design', 'for_pl', 'land_comm', 'FILE LIST - Shortcut (2).lnk', 'SiteLocatorMap.mxd', 'Thumbs.db']
[x for x in myList if not '.' in x]
[x for x in myList if not '+' in x]
print myList

自己,列表推导不会修改你重复的事情。尝试将结果分配回myList

myList = ['+Map_Design', 'for_pl', 'land_comm', 'FILE LIST - Shortcut (2).lnk', 'SiteLocatorMap.mxd', 'Thumbs.db']
myList = [x for x in myList if not '.' in x]
myList = [x for x in myList if not '+' in x]
print myList

结果:

['for_pl', 'land_comm']

奖金样式提示:'.' not in xnot '.' in x更惯用。