亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在Python while循環中向字符串添加數字的問題

在Python while循環中向字符串添加數字的問題

精慕HU 2023-07-05 16:33:34
我需要生成一個帶有編號的項目列表。例如:item-1item-2item-3..item 246234我正在嘗試用 while 循環來解決它。這是我的代碼:pages = []page = 'item-'nr = 1last = 10while nr <= last    page = page + str(nr)    pages.append(page)    nr += 1但我得到的不是期望的結果:item-1item-12item-123item-1234and so on我該如何解決這個問題?
查看完整描述

4 回答

?
蠱毒傳說

TA貢獻1895條經驗 獲得超3個贊

您page在每次迭代中累積數字。在循環內使用另一個變量名稱:


while nr <= last

    pageX = page + str(nr)

    pages.append(pageX)

    nr += 1

或者直接將頁面添加到列表中,無需中間變量:


while nr <= last:

    pages.append(page + str(nr))

    nr += 1

或者使用for循環,這樣您就不必自己檢查和增加數字:


for nr in range(1, last+1):

    pages.append(page + str(nr))

或者使用列表理解來使整個代碼更短并且(恕我直言)更具可讀性:


pages = ["item-" + str(nr) for nr in range(1, last+1)]


查看完整回答
反對 回復 2023-07-05
?
UYOU

TA貢獻1878條經驗 獲得超4個贊

當您說page = ...您要覆蓋每次使用的原始“模板”時。只需使用不同的變量:

while nr <= last:
    current_page = page + str(nr)
    pages.append(current_page)
    nr += 1

順便說一句,這在慣用的 python 中表達得更清楚,如下所示:

pages = [f"item-{i}" for i in range(1, 11)]


查看完整回答
反對 回復 2023-07-05
?
藍山帝景

TA貢獻1843條經驗 獲得超7個贊

你可以用Pythonic方式做到這一點:

pages = ['item-'+str(nr) for nr in range(1, last+1)]


查看完整回答
反對 回復 2023-07-05
?
倚天杖

TA貢獻1828條經驗 獲得超3個贊

這是我的方法,循環直到最后一頁并附加到列表,使用當前索引創建每個頁面:


pages=[]

pagex = "item-"

for i in range(1,last+1):

    page = pagex + str(i)

    pages.append(page)


查看完整回答
反對 回復 2023-07-05
  • 4 回答
  • 0 關注
  • 217 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號