アポストロフィのない単語のみを含む辞書ファイルを探しています。見つからないようです!Pythonを使用してファイルからそれらの単語を削除するにはどうすればよいですか?
質問する
1154 次
3 に答える
1
文字列またはリストに文字が含まれているかどうかを確認するには、次のように「in」を使用できます。
words = ["it's", "my", "world"]
filtered = [x for x in words if "'" not in x]
>>> ["my", "world"]
または同じですが、最初のもので使用されるリスト内包表記はありません:
filtered = []
for x in words:
if "'" not in x:
filtered.append(x)
キーがフィルタリングする必要のある単語である辞書がある場合:
newDict = {}
for k,v in wordsDict.iteritems():
if "'" not in k:
newDict[k] = v
于 2012-11-17T16:58:27.567 に答える
1
Linuxの場合:
grep
ファイル内のアポストロフィを含む単語を除外してホームディレクトリにwords
保存するために使用する優れた方法。mywords.txt
grep "^[^']*$" /usr/share/dict/words > ~/mywords.txt
コードをインストール、ダウンロード、または作成する必要はありません。
OS Xの場合:
/usr/share/dict/words
すでにアポストロフィが含まれている単語が含まれていないため 、さらに簡単です。
于 2012-11-17T16:58:48.897 に答える
0
組み込み関数を使用しますfilter()
:
filter(lambda x:"'" not in x,my_list)
例:
In [19]: my_list=['foo', "bar's", "don't","bar"]
In [20]: filter(lambda x:"'" not in x,my_list)
Out[20]: ['foo', 'bar']
ドキュメントから:
filter(function or None, sequence) -> list, tuple, or string
function(item)がtrueであるシーケンスのアイテムを返します。関数がNoneの場合、trueの項目を返します。シーケンスがタプルまたは文字列の場合は同じタイプを返し、そうでない場合はリストを返します。
于 2012-11-17T16:59:00.427 に答える