2011-09-13 59 views
6

我想从另一个单词列表中创建一个新列表;当某个词的条件满足时。在这种情况下,我想将所有长度为9的单词添加到新列表中。Python:在满足某些条件时从列表中创建一个新列表

我用:

resultReal = [y for y in resultVital if not len(y) < 4] 

移除是4的长度下但是,所有的条目,我现在不想删除的条目。我想用这些词创建一个新列表,但将它们保留在旧列表中。

也许是这样的:

if len(word) == 9: 
    newlist.append() 

感谢。

回答

17

对不起,意识到你想要的长度,9,而不是长度9或更大。

newlist = [word for word in words if len(word) == 9] 
+0

这大概应该是一个']'在最后,而不是一个')'。 –

+0

由于在单词表或输入中总共不会有超过九个字符的单词,所以使用> 8将完美地工作。非常感谢你! –

+0

@ mathias-ahonen - 乐于助人!请记住在您找到适合您的答案时将答案标记为已接受。另外,感谢F.J抓住我的错字。 :) –

1

尝试:

newlist = [] 
for item in resultVital: 
    if len(item) == 9: 
     newlist.append(item)
1

试试这个:

newlist = [word for word in words if len(word) == 9] 
+0

检查编辑页面底部右侧的格式提示。请正确格式化您的代码,以便于阅读。 –

相关问题