在一个名为say'data'的文件中,我有一些元组:
tuple1 = (1, 2, 3)
tuple2 = (4, 5, 6)
在另一个文件中调用元组来导入数据。在
^{pr2}$如果我尝试打印元组,会得到一个错误,因为数据中没有定义字符串(1)。在
^{3}$出现以下结果:
(1, 2, 3)
tuple1
Traceback (most recent call last):
File "C:/Python27/Scripts/tuplecall.py", line 10, in <module>
print data.string(1)
AttributeError: 'module' object has no attribute 'string'
我可以理解为什么它不起作用,但是我不知道当我试图调用数据集时,如何将string(1)更改为tuple1。在
到目前为止,我解决这个问题的方法是使用以下代码:
from data import *
def string(tupleNumber):
return 'tuple' + str(tupleNumber)
print tuple1
print string(1)
print eval(string(1))
结果是:
(1, 2, 3)
tuple1
(1, 2, 3)
然而,由于我的“数据”文件中有很多数据,我很担心我在每个元组中使用“from data import*”来浪费内存加载,而当我需要它时,我可以像在第一种情况下那样调用它,但我显然遗漏了一些重要的东西。在
我还看到eval()并不是最好的使用方法,但到目前为止,我发现它是有效的。因此,如果有人能给我一些关于如何提高我的理解力的想法,我将不胜感激。在
谨致问候
嗤之以鼻。在
string()的方法声明不在数据文件中,因此数据.string()不起作用
这不是变量名的真正含义。
tuple1
和tuple2
中的数字1和2要么意味着什么(例如,1
实际上是指“1个人”和2
“2个人”),要么不是,它们只是占位符。在如果它们确实有意义,你应该使用字典:
如果它们没有,而您只需要两个元组,那么您还可以使用一个列表:
^{pr2}$你绝对不需要使用eval。在
相关问题 更多 >
编程相关推荐