2017-09-15 19 views

回答

1

假設你希望它是區分大小寫的,你可以這樣做:

lower_case_list = original_list.lower() 
#convert from list of strings to one string 
word_string = ' '.join(lower_case_list) 
import string 
letters = string.ascii_lowercase 
#get a list of characters that aren't letters 
not_letters = [char_ for char_ in word_string if not in letters] 
#get rid of characters that aren't letters 
for not_letter in not_letters: 
    word_string = word_string.replace(not_letter,"") 
word_list = word_string.split(" ") 
unique_word_set = set(word_list) 

注意,這個分裂字符轉換成不同的話,如果它們之間有空格,比如「你好,你怎麼樣您?」如果你想分割即使沒有空格,例如「你好,你好嗎?」,你必須做word_string.replace(not_letter,「」),然後擺脫空字符串。

+0

我不能寫信給你幫我。所以我不會。 –

1

我不知道'最好'。這是一種方法。

>>> sentence = 'Glücklicherweise kann der Mensch nur einen gewissen Grad des Unglücks fassen; was darüber hinausgeht, vernichtet ihn oder läßt ihn gleichgültig.' 
>>> import re 
>>> sorted(set(re.sub(r'[^\w]', ' ', sentence).split()), key=str.lower) 
['darüber', 'der', 'des', 'einen', 'fassen', 'gewissen', 'gleichgültig', 'Glücklicherweise', 'Grad', 'hinausgeht', 'ihn', 'kann', 'läßt', 'Mensch', 'nur', 'oder', 'Unglücks', 'vernichtet', 'was'] 

這應該是以下內容。我錯過了第一條評論中提出的觀點。

>>> import re 
>>> sentences = ['1. Glücklicherweise kann der Mensch nur einen gewissen Grad des Unglücks fassen; was darüber hinausgeht, vernichtet ihn oder läßt ihn gleichgültig.', '2. Unter allem Diebesgesindel sind die Narren die schlimmsten. Sie rauben euch beides, Zeit und Stimmung.'] 
>>> from functools import reduce 
>>> sorted(set(re.sub(r'[0-9]', ' ', re.sub(r'[^\w]', ' ', reduce(lambda x, y: x+' '+y, sentences))).split()), key=str.lower) 
['allem', 'beides', 'darüber', 'der', 'des', 'die', 'Diebesgesindel', 'einen', 'euch', 'fassen', 'gewissen', 'gleichgültig', 'Glücklicherweise', 'Grad', 'hinausgeht', 'ihn', 'kann', 'läßt', 'Mensch', 'Narren', 'nur', 'oder', 'rauben', 'schlimmsten', 'Sie', 'sind', 'Stimmung', 'und', 'Unglücks', 'Unter', 'vernichtet', 'was', 'Zeit'] 
+0

這將一個字符串作爲輸入,而不是一串字符串,並以數字形式存在。 – Acccumulation

+0

@Accumulation:你當然是對的。我認爲我現在提供的是正確的。 –

+0

非常歡迎。 –

相關問題