5 回答

TA贡献1842条经验 获得超21个赞
问题有歧义。我解决了以下部分:“我想创建具有字符串值的迭代变量。”
如果你解决了动态创建变量的问题,你就产生了一个新问题——如何动态访问它们。因此,最好使用一些内置的数据结构,如列表、元组或字典。
记住这一点回答问题:
number = '0123456789'
for num in number:
globals()[f'a{num}'] = int(num)
此代码将创建具有相应整数值的变量 a0、a1...a9。

TA贡献1886条经验 获得超2个赞
为了制作一个具有索引的可迭代对象,我做了类似的事情:
number = "0123456789"
new_number = ""
for i in number:
if i != number[-1]:
new_number += i + " "
else:
new_number += i
iterable = new_number.split(" ")
如果您对此感兴趣,这可能会变得不那么混乱,但这可以解决问题。注意:可迭代对象中的元素将是字符串。

TA贡献1859条经验 获得超6个赞
我认为您正在寻找的是迭代器函数 - 即iter()
例如:
number = '0123456789'
iterator = iter(number)
然后,有了next(),我们可以做这样的事情:
next(iterator)
'0'
next(iterator)
'1'
即可以使用next函数获取下一个值。

TA贡献2011条经验 获得超2个赞
您可以遍历变量编号中的每个字符,但必须将其类型转换为字符串。请注意,这number=0123456789在 Python 中会出错。您需要一个字符串值。所以将数值类型转换为字符串将解决它。
例子:
number = str(123456789)
for i in number:
globals() ['a'+i] = int(i)
然后你可以像往常一样使用创建的变量:
print(a1)
print(a9)
这将输出:
1
9
我希望这回答了你的问题。

TA贡献1841条经验 获得超3个赞
这样就可以了
res = ', '.join(['a{}={}'.format(i,i) for i in number])
输出
'a0=0, a1=1, a2=2, a3=3, a4=4, a5=5, a6=6, a7=7, a8=8, a9=9'
添加回答
举报