有9条短信叫text1,text2 .text9。函数定义如下。
def lexical_diversity(text):
return len(set(text))/len(text)我想用下面的代码调用所有9个文本的函数。但是,outpu错了。
for i in range(1,10):
a='text'+str(i)
print(lexical_diversity(a))我的输出是
0.8
0.8
...
0.8如果将该函数应用于text1,则得到以下结果。
>>>lexical_diversity(text1)
Out[37]:0.07406285585022564哪一部分出了问题?
发布于 2017-08-24 11:47:50
您应该理解,a = 'text' + str(i)并没有神奇地赋予a变量text1中包含的任何内容的值。相反,a被分配给字符串"text1"。两者是不一样的。
给定名称,您可能应该考虑将text存储在list中。
texts = [text1, text2, text3, ...]而现在,
for a in texts:
print(lexical_diversity(a))发布于 2017-08-24 12:02:13
Python3
def lexical_diversity(text):
return len(set(text))/len(text)
lista = []
for i in range(1,10):
lista.append("text%d" % i)
for resVal in lista:
print(resVal)
print(lexical_diversity(resVal))https://stackoverflow.com/questions/45860755
复制相似问题