-1

不必要な詳細には触れませんが、convert単語を別のものに変換する機能があります。現在、ファイルを読み取ってすべての単語を変換したいと考えています。ファイルを読み取って変換するコードが既にあるとします。唯一の問題は、convert が、私が与えた引数に対して非常に一般的な用語でしか機能しないように見えることです。たとえば、私は書いています

return convert("string")

ファイル内のすべての単語が「文字列」の変換に変換されます。これは私がやろうとしていることではありません。

私が望むのは、変換が個々の単語ごとに適切に適用されることです。convert が指定した文字列以外のパラメーターを受け取るようにするにはどうすればよいですか?

4

3 に答える 3

1
word = ["dog", "cat", "cow", "mouse"]

for i in word:
    print convert("string")

4つの単語の変換ではなく、「文字列」の変換の4つのコピーが明らかに出力されます。iconvert 関数のパラメーターとして、変換する単語 (この場合は ) ではなく、定数値 "string" を渡す理由について、より詳細な情報を提供する必要があります。

于 2012-09-30T16:50:56.780 に答える
0

が文字列をconvert反転するとします (つまり、"hello" が "olleh" になります)。

def convert(input):
    return input[::-1]

convert次に、配列内の各文字列に適用するには、Python のmap関数を使用します。

s = "this is a string of words"
a = s.split()
# a contains ['this', 'is', 'a', 'string', 'of', 'words']
output = map(convert, a)
# output contains ['siht', 'si', 'a', 'gnirts', 'fo', 'sdrow']
于 2012-09-30T16:59:30.107 に答える
0

このプログラムは、すべての入力単語の文字をランダムにシャッフルします。

import random
import sys

def convert(item):
        ret=[x for x in item]
        random.shuffle(ret)
        return "".join(ret)

with open(sys.argv[1]) as f:
        for line in f:
                print " ".join(convert(word) for word in line.rstrip().split())

ご覧のとおり、convert各入力単語に適用されます。これはあなたが必要とするアプリケーションのタイプですか?

于 2012-10-02T12:39:45.900 に答える