5 回答

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超22個(gè)贊
問(wèn)題有歧義。我解決了以下部分:“我想創(chuàng)建具有字符串值的迭代變量?!?/p>
如果你解決了動(dòng)態(tài)創(chuàng)建變量的問(wèn)題,你就產(chǎn)生了一個(gè)新問(wèn)題——如何動(dòng)態(tài)訪問(wèn)它們。因此,最好使用一些內(nèi)置的數(shù)據(jù)結(jié)構(gòu),如列表、元組或字典。
記住這一點(diǎn)回答問(wèn)題:
number = '0123456789'
for num in number:
globals()[f'a{num}'] = int(num)
此代碼將創(chuàng)建具有相應(yīng)整數(shù)值的變量 a0、a1...a9。

TA貢獻(xiàn)1886條經(jīng)驗(yàn) 獲得超2個(gè)贊
為了制作一個(gè)具有索引的可迭代對(duì)象,我做了類(lèi)似的事情:
number = "0123456789"
new_number = ""
for i in number:
if i != number[-1]:
new_number += i + " "
else:
new_number += i
iterable = new_number.split(" ")
如果您對(duì)此感興趣,這可能會(huì)變得不那么混亂,但這可以解決問(wèn)題。注意:可迭代對(duì)象中的元素將是字符串。

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊
我認(rèn)為您正在尋找的是迭代器函數(shù) - 即iter()
例如:
number = '0123456789'
iterator = iter(number)
然后,有了next(),我們可以做這樣的事情:
next(iterator)
'0'
next(iterator)
'1'
即可以使用next函數(shù)獲取下一個(gè)值。

TA貢獻(xiàn)2011條經(jīng)驗(yàn) 獲得超2個(gè)贊
您可以遍歷變量編號(hào)中的每個(gè)字符,但必須將其類(lèi)型轉(zhuǎn)換為字符串。請(qǐng)注意,這number=0123456789在 Python 中會(huì)出錯(cuò)。您需要一個(gè)字符串值。所以將數(shù)值類(lèi)型轉(zhuǎn)換為字符串將解決它。
例子:
number = str(123456789)
for i in number:
globals() ['a'+i] = int(i)
然后你可以像往常一樣使用創(chuàng)建的變量:
print(a1)
print(a9)
這將輸出:
1
9
我希望這回答了你的問(wèn)題。

TA貢獻(xiàn)1841條經(jīng)驗(yàn) 獲得超3個(gè)贊
這樣就可以了
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'
添加回答
舉報(bào)