有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
哪一部分出了问题?
答案 0 :(得分:3)
你应该明白a = 'text' + str(i)
并没有神奇地赋予a
变量text1
中包含的内容的值。而是将a
分配给字符串 "text1"
。这两个不相同。
根据名称,您应该考虑将text
存储在list
中:
texts = [text1, text2, text3, ...]
现在,
for a in texts:
print(lexical_diversity(a))
答案 1 :(得分:0)
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))