2015-02-08 91 views
0

這兩條線的工作原理:訪問各個列表中的項目

all_text=["Happy"]  
if set(all_text).intersection("I'm HAPPY and SAD"): 

這些做沒有似乎工作:

all_text=["Happy","SAD"]  
if set(all_text[0]).intersection("I'm HAPPY and SAD"): 

all_text=["Happy","SAD"]  
if set(all_text[1]).intersection("I'm HAPPY and SAD"): 

看來,我無法訪問個別項目。在你上面的說法這兩個地方其實

all_text=["Happy", "SAD] 

+0

先關閉報價 – 2015-02-08 21:26:58

回答

1

在iterable上調用set()將iterable的項目單獨收集到一個新的set對象中。所以,做set(all_text[0])是字符串"Happy"在做一組列的字符:

>>> all_text=["Happy","SAD"] 
>>> set(all_text[0]) 
{'p', 'a', 'H', 'y'} 
>>> 

做你想做什麼,你需要把字符串列表:

>>> set([all_text[0]]) 
{'Happy'} 
>>> 

這將保持它不會被分解成字符。

1

你缺少一個右"這裏。複製和粘貼?大概。

+0

一個錯字。我試圖展示一個例子,但是謝謝。 – 2015-02-09 01:50:01