4

ranlet私は、8つの別々の文字をランダムに生成し、それらを(ランダム文字の略)というリストに割り当てるプログラムを作成しました。次に、.txtファイルを.という名前のリストにインポートしますwordslist。これらの部分を個別にテストしたので、文字のランダムな生成とファイルのロードの両方が正常に機能しますが、その後、問題が発生しました。

次に、プログラムはリストをリストと比較しranletwordslist一致する単語を呼び出されたリストに追加して、リスト内hitsの単語を表示する必要があります。hits

私はこれを試しました:

for each in wordslist:
    if ranlet==char in wordslist:
        hits.append(wordslist)
    else:
        print "No hits."

print hits

悲しいことに、これはうまくいきませんでした。これにはもっと多くのバリエーションがありますが、まったく役に立ちません。この件について何か助けていただければ幸いです。

4

2 に答える 2

3

私はあなたがset.intersectionここから利益を得ることができると思います:

set_ranlet = set(ranlet)
for word in word_list:
    intersection = set_ranlet.intersection(word)
    if intersection:
        print "word contains at least 1 character in ran_let",intersection

    #The following is the same as `all( x in set_ranlet for x in word)`
    #it is also the same as `len(intersection) == len(set_ranlet)` which might
    # be faster, but less explicit.
    if intersection == set_ranlet: 
        print "word contains all characters in ran_let"
于 2012-11-19T15:32:15.140 に答える
2

あなたがで初めての場合Python、これは「理解しやすい」答えかもしれません:

hits = []
for word in wordslist:
    if word in ranlet and word not in hits:
        hits.append(word)
print hits
于 2012-11-19T15:32:30.223 に答える