首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >动态访问python中的变量

动态访问python中的变量
EN

Stack Overflow用户
提问于 2017-08-24 11:44:27
回答 2查看 1.1K关注 0票数 0

有9条短信叫text1,text2 .text9。函数定义如下。

代码语言:javascript
运行
复制
def lexical_diversity(text):
    return len(set(text))/len(text)

我想用下面的代码调用所有9个文本的函数。但是,outpu错了。

代码语言:javascript
运行
复制
for i in range(1,10):
    a='text'+str(i)
    print(lexical_diversity(a))

我的输出是

代码语言:javascript
运行
复制
0.8
0.8
...
0.8

如果将该函数应用于text1,则得到以下结果。

代码语言:javascript
运行
复制
>>>lexical_diversity(text1)
   Out[37]:0.07406285585022564

哪一部分出了问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-24 11:47:50

您应该理解,a = 'text' + str(i)并没有神奇地赋予a变量text1中包含的任何内容的值。相反,a被分配给字符串"text1"。两者是不一样的。

给定名称,您可能应该考虑将text存储在list中。

代码语言:javascript
运行
复制
texts = [text1, text2, text3, ...]

而现在,

代码语言:javascript
运行
复制
for a in texts:
    print(lexical_diversity(a))
票数 4
EN

Stack Overflow用户

发布于 2017-08-24 12:02:13

Python3

代码语言:javascript
运行
复制
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))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45860755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档