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

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

滿足條件后繼續使用更改的參數進行迭代

滿足條件后繼續使用更改的參數進行迭代

一只甜甜圈 2023-08-08 16:27:54
我需要更改循環外的參數并在滿足特定條件后繼續迭代。例如,我有披薩列表和字符串列表。我有在滿足條件后應該切換的醬汁包列表。如果字符串中存在條件“sauce_error”,我需要從醬包列表中切換到另一個醬包,并使用下一個醬包繼續迭代。#list of sauce packssaucePacks = ['sauce_pack1', 'sauce_pack2', 'sauce_pack3', 'sauce_pack4']index = 0saucePack = saucePacks[index]#list of pizzaspizzas = ['pizza1', 'pizza2', 'pizza3_sauce_error', 'pizza4', 'pizza5']#iterating over stringsfor pizza in pizzas:    if 'sauce_error' in pizza:    index = index+1 #need to switch sauce pack if substring in string    print(saucePack, pizza)  else:    print(saucePack, pizza)當“pizza”字符串中出現“sauce_error”時,應將醬包切換到列表中的下一個。期望的輸出:sauce_pack1 pizza1sauce_pack1 pizza2sauce_pack2 pizza3_sauce_errorsauce_pack2 pizza4sauce_pack2 pizza5
查看完整描述

3 回答

?
12345678_0001

TA貢獻1802條經驗 獲得超5個贊

您只是忘記使用新索引更新您的 saucePack:


#list of sauce packs

saucePacks = ['sauce_pack1', 'sauce_pack2', 'sauce_pack3', 'sauce_pack4']

index = 0

saucePack = saucePacks[index]


#list of pizzas

pizzas = ['pizza1', 'pizza2', 'pizza3_sauce_error', 'pizza4', 'pizza5']


#iterating over strings

for pizza in pizzas:  

    if 'sauce_error' in pizza:

        index = index+1 #need to switch sauce pack if substring in string

        saucePack = saucePacks[index]

        print(saucePack, pizza)

    else:

        print(saucePack, pizza)


查看完整回答
反對 回復 2023-08-08
?
尚方寶劍之說

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

使用iteraor會更Pythonic?,而不是更新索引并根據它獲取新元素:

#list of sauce packs

saucePacks = iter(['sauce_pack1', 'sauce_pack2', 'sauce_pack3', 'sauce_pack4'])

saucePack = next(saucePacks)


#list of pizzas

pizzas = ['pizza1', 'pizza2', 'pizza3_sauce_error', 'pizza4', 'pizza5']


#iterating over strings

for pizza in pizzas:??

? ? if 'sauce_error' in pizza:

? ? ? ? saucePack = next(saucePacks)? # takes the next sauce from the list

? ? print(saucePack, pizza)

請注意,當迭代器耗盡時,您需要小心(您還需要對索引進行處理,以防它超過列表的大小......)


查看完整回答
反對 回復 2023-08-08
?
慕哥9229398

TA貢獻1877條經驗 獲得超6個贊

如果該代碼對您有意義,請使用它。


#list of sauce packs

saucePacks = ['sauce_pack1', 'sauce_pack2', 'sauce_pack3', 'sauce_pack4']

index = 0


#list of pizzas

pizzas = ['pizza1', 'pizza2', 'pizza3_sauce_error', 'pizza4', 'pizza5']


#iterating over strings

for pizza in pizzas:??

? if 'sauce_error' in pizza:

? ? index += 1 #need to switch sauce pack if substring in string

? ? print(saucePacks[index], pizza)

? else:

? ? print(saucePacks[index], pizza)


查看完整回答
反對 回復 2023-08-08
  • 3 回答
  • 0 關注
  • 190 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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