簡體   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