-1

我不会详细介绍不必要的细节,但我有一个convert将单词转换为其他内容的函数。现在我希望它读取文件并转换每个单词。假设我已经有了读取文件和转换的代码。唯一的问题是,对于我给出的论点,convert 似乎只能在非常笼统的术语中起作用。例如,我写

return convert("string")

并且文件中的每个单词都被转换为“字符串”的转换。这不是我想要做的。

我想要的是转换适当地应用于每个单词。我怎样才能使它转换接受我给它的字符串以外的参数?

4

3 回答 3

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

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

显然会打印出“字符串”转换的四个副本,而不是四个单词的转换。您需要提供更多详细信息,说明为什么要传递常量值“字符串”,而不是要转换的单词(在本例中i为 ),作为转换函数的参数。

于 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 回答