【发布时间】:2013-09-24 21:51:08
【问题描述】:
我需要将一个数字列表分配给从 A 到 Z 的变量。但是,这个列表的长度会有所不同。有没有办法在循环中做到这一点? 到目前为止我有:
file=open('inputfile.txt')
data=file.readlines()
vardict={1: 'A', 2: 'B', 3: 'C', 4: 'D', 5: 'E', 6: 'F',
7: 'G', 8: 'H', 9: 'I', 10: 'J', 11: 'K', 12: 'L',
13: 'M', 14: 'N', 15: 'O', 16: 'P', 17: 'Q',
18: 'R', 19: 'S', 20: 'T', 21: 'U', 22: 'V',
23: 'W', 24: 'X', 25: 'Y', 26: 'Z'}
for line in data:
if line[0:1]=='V': #v is a marker that this line needs to assign variables.
num=1
var=line.split()
var=var[1:] #remove the tag
for entry in var:
x=vardict[num] #this will assign x to the correct variable
#need some lines here to create a variable from whatever is in x
num+=1
var=['16', '17', '13', '11', '5', '3'] 例如,需要赋值给变量A到F。 我将需要在以后的计算中大量使用这些变量,所以没有什么太笨拙了。
编辑:我将需要在计算中使用变量,直到出现另一行带有标签 V 时,我需要将以下列表分配给变量 A-Z,并在以后的计算中使用新变量。
输入将是这种形式:
V 1 -2 3 4 5 7 8 9 10
I (A+B)-C*F
I C*F-(A+B)
R -+AB*CF
V 16 17 13 11 5 3
O AB+C-D*E/F^
其他行是要进行的各种计算。
【问题讨论】:
-
我错过了什么吗?这就是数组(Python 中的列表或字典)的用途。为什么不想要一个变量列表,由从“A”到“Z”的字母索引?如果你坚持的话,用
eval或许可以为所欲为,但是会很丑…… -
您希望完成什么?你用
x做什么?你在储存它们吗?现在你只是将vardict[last entry of var]分配给x。 -
你知道你可以做
for line in file:吗? -
我只需要一种将列表中的值分配给变量 A 到 Z 的方法。我唯一的问题是如何处理不同大小的列表。
-
你打算用这些做什么?
标签: python variables loops python-3.x