第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么把range替換成'123456789'就不行,例子里不也用了'123‘嗎

print [100 * n1 + 10 * n2 + n3 for n1 in '123456789' for n2 in '0123456789' for n3 in '123456789' if n1==n3]

這樣輸出的就是11111111111111111111……

正在回答

2 回答

python中字符串不能用for循環(huán)迭代遍歷

0 回復(fù) 有任何疑惑可以回復(fù)我~

寫了一段代碼做了個測試可以回答你的疑惑:

for n in '123':

? ? for m in '123':

? ? ? ? print 10 * n + m?

運行結(jié)題如下:

11111111111
11111111112
11111111113
22222222221
22222222222
22222222223
33333333331
33333333332
33333333333

明白了吧?當(dāng)數(shù)字是字符串格式時,*10就是重復(fù)10次,而不是變成10倍,所以才會出現(xiàn)上面的結(jié)果。示例中是字符連接,所以不存在這個問題。

用'123456789'的方式也能實現(xiàn),但輸出的列表中實際依然是字符格式而非數(shù)字:

L=[(m,n,l) for m in '123456789' for n in '0123456789' for l in '123456789' if m==l ]

X=[]

for s in L:

? ? X.append(''.join(s))

print X

望采納。


1 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消
初識Python
  • 參與學(xué)習(xí)       758369    人
  • 解答問題       8967    個

學(xué)python入門視頻教程,讓你快速入門并能編寫簡單的Python程序

進(jìn)入課程

為什么把range替換成'123456789'就不行,例子里不也用了'123‘嗎

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號