5 回答

TA貢獻1842條經驗 獲得超21個贊
問題有歧義。我解決了以下部分:“我想創(chuàng)建具有字符串值的迭代變量?!?/p>
如果你解決了動態(tài)創(chuàng)建變量的問題,你就產生了一個新問題——如何動態(tài)訪問它們。因此,最好使用一些內置的數據結構,如列表、元組或字典。
記住這一點回答問題:
number = '0123456789'
for num in number:
globals()[f'a{num}'] = int(num)
此代碼將創(chuàng)建具有相應整數值的變量 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)
然后你可以像往常一樣使用創(chuàng)建的變量:
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'
添加回答
舉報