繁体   English   中英

在列表理解中使用集合

[英]Using sets in a list comprehension

我正在尝试做的事情:创建并打印一个单词列表,其单词的反写在小写单词集中。 例如,“ timer”及其相反的“ remit”都在小写单词列表中。

我到目前为止所拥有的:

     s = set(lowers)
     [word for word in s if list(word).reverse() in s]

我只是得到一个空清单。

只需使用[::-1] ,这里就不需要使用list(),并且list(word).reverse()返回None因为它就地更改了列表。 您也可以使用"".join(reversed(word)) ,但是我想word[::-1]就足够简单了:

[word for word in s if word[::-1] in s]

In [193]: word="timer"

In [194]: print list(word).reverse()
None

In [195]: word[::-1]
Out[195]: 'remit'

In [196]: "".join(reversed(word))
Out[196]: 'remit'

list.reverse()方法可将列表原地反向。 它的返回值为None 如果要反转字符串,请使用word[::-1]

list.reverse()在原处反转列表,但不返回任何内容。 您需要"".join(reversed(list))

尝试这个:

s = set(lowers)
[word for word in s if word.lower()[::-1] in s]

您应该使用[::-1]反转字符串-

[word for word in s if word[::-1] in s]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM