我不会涉及不必要的细节,但我有一个函数convert
,可以将单词转换为其他内容。现在我想让它读取一个文件并转换每个单词。假设我已经有了读取文件和转换的代码。唯一的问题是转换似乎只能用于我给出的论证的非常通用的术语。例如,我写
return convert("string")
并且文件中的每个单词都转换为“string”的转换。这不是我想要做的。
我想要的是将转换适当地应用于每个单词。我怎样才能使它转换为除了我给它的字符串以外的参数?
答案 0 :(得分:1)
word = ["dog", "cat", "cow", "mouse"]
for i in word:
print convert("string")
显然会打印出四个“字符串”转换的副本,而不是四个字的转换。您需要提供有关传递常量值“string”的原因的更多详细信息,而不是要转换的单词(在本例中为i
),作为转换函数的参数。
答案 1 :(得分: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']
答案 2 :(得分: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
适用于每个输入字。这是您需要的应用程序类型吗?