我有一個清單:
food_list=["chicken", "mixed veggies", "greens", "beans", "corn", "cooking oil"]
我可以通過它們的位置訪問每個食品并列印一些東西,如下所示:
"You do have food, your options are {} or {} or {} or {}".format(
food_list[0], food_list[1], food_list[3], food_list[4]
)
(不包括最后一項:'食用油')
但是,如果串列的長度以任何方式改變,這將產生索引(超出范圍)錯誤。
如果更改串列長度,如何獲取串列中的專案,將它們放入上述句子中而不會出現任何錯誤?
uj5u.com熱心網友回復:
您可以在一行中完成此操作。例如
food_list=["chicken", "mixed veggies", "greens", "beans", "corn", "cooking oil"]
"You do have food, your options are {}".format(" or ".join(food_list[:-1]))
輸出:
你有食物,你的選擇是雞肉或混合蔬菜或蔬菜或豆類或玉米
ps:這也將排除串列中的最后一個食物專案。
uj5u.com熱心網友回復:
嘗試使用:
options = " or ".join(food_list)
uj5u.com熱心網友回復:
在這里,您想使用類似簡單的 for 回圈的東西:
string = "You do have food, your options are "
for food in food_list:
string = food " or "
string = string[:-3]
print(string)
在這里,您洗掉最后幾個字符以洗掉最后一個“或”,同時動態添加串列中的每個專案。
uj5u.com熱心網友回復:
TL; 博士
food_list=["chicken", "mixed veggies", "greens", "beans", "corn", "cooking oil"]
"You do have food, your options are {}".format(" or ".join(food_list))
有很多方法可以做你所要求的。
加入
join,將一個容器的每個元素連接成一個字串:
",".join(["mohammad", "Shameoni", "Niaei"])
#'mohammad,Shameoni,Niaei'
回圈
您可以輕松地遍歷可迭代物件并將它們附加到字串中。
my_string = ""
for element in ["mohammad", "Shameoni", "Niaei"]:
my_string = element ","
my_string = my_string[:-1]
#'mohammad,Shameoni,Niaei'
使用上述之一。
uj5u.com熱心網友回復:
嘗試使用 fstring。
food_list=["chicken", "mixed veggies", "greens", "beans", "corn", "cooking oil"]
print(f"You do have food, your options are {food_list[0]} or {food_list[1]} or {food_list[3]} or {food_list[4]}")
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/311474.html
