我想做什么: 创建并打印一个单词列表,其中单词的反转位于小写单词集合中。例如,“timer”及其反向“remit”都在小写单词列表中。
到目前为止:
s = set(lowers)
[word for word in s if list(word).reverse() in s]
我只是得到一个空列表。
答案 0 :(得分:4)
只需使用[::-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'
答案 1 :(得分:3)
list.reverse()
方法可以反转列表。其返回值为None
。如果要反转字符串,只需使用word[::-1]
。
答案 2 :(得分:2)
list.reverse()
反转列表并且不返回任何内容。您需要"".join(reversed(list))
。
答案 3 :(得分:2)
试试这个:
s = set(lowers)
[word for word in s if word.lower()[::-1] in s]
答案 4 :(得分:0)
您应该使用[::-1]
来反转字符串 -
[word for word in s if word[::-1] in s]