[英]Enumerate clarification
這是我得到的代碼:
cast = ["Barney Stinson", "Robin Scherbatsky", "Ted Mosby", "Lily Aldrin", "Marshall Eriksen"]
heights = [72, 68, 72, 66, 76]
print(cast)
這是所需的輸出:
['Barney Stinson 72', 'Robin Scherbatsky 68', 'Ted Mosby 72', 'Lily Aldrin 66', 'Marshall Eriksen 76']
這是解決方案:
cast = ["Barney Stinson", "Robin Scherbatsky", "Ted Mosby", "Lily Aldrin", "Marshall Eriksen"]
heights = [72, 68, 72, 66, 76]
for i, character in enumerate(cast):
cast[i] = character + " " + str(heights[i])
print(cast)
這是這段代碼的問題:
for i, character in enumerate(cast):
cast[i] = character + " " + str(heights[i])
為什么推桿是推桿cast[i]
和heights[i]
,而不僅僅是推桿/高度? 如果它是一個枚舉函數,是否應該為所有名稱編號?
例:
letters = ['a', 'b', 'c', 'd', 'e']
for i, letter in enumerate(letters):
print(i, letter)
此代碼將輸出:
0 a
1 b
2 c
3 d
4 e
您正在修改的字符cast
當你迭代它同時也考慮在高度列表中的相同字符的位置。
您不能使用height
因為那不是該循環中的有效變量名,並且heights是整個列表; 繼續嘗試使用它,它不會為您提供所需的輸出
如果您執行以下操作,則循環后演員表不會更改
character += " " + str(heights[i])
注意: zip(cast, height)
將為您提供非常相似的輸出
例如,
print([c + " " + h in zip(cast, heights)])
關於您的問題:
為什么推桿是推桿[i]和高度[i],而不僅僅是推桿/高度? 如果它是一個枚舉函數,是否應該為所有名稱編號?
使用enumerate()
創建for loop
,如下所示:
for counter, value in enumerate(some_list):
第一個變量counter
等於列表的索引,而value
等於列表中該索引處的元素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.