z=[1,2,","]
count=0
for i in z:
if (",") in z:
count+=1
print count
此python代碼包含列表中的所有逗號z
。爲什麼?答案是3.當它應該是一個。可以通過更改元素進行測試。小編程拼圖
如果列表元素逗號「,」被刪除,則程序產生空白,而不是2個逗號作爲計數。
問題:
- 有人可以回答,請爲什麼逗號只獲取算的?
- 爲什麼逗號數是3時,它應該是一個。
感謝
z=[1,2,","]
count=0
for i in z:
if (",") in z:
count+=1
print count
此python代碼包含列表中的所有逗號z
。爲什麼?答案是3.當它應該是一個。可以通過更改元素進行測試。小編程拼圖
如果列表元素逗號「,」被刪除,則程序產生空白,而不是2個逗號作爲計數。
問題:
感謝
將其更改爲
if (",") in i:
真的,你應該使用更好的名稱(i
通常指索引到一個數組或一個整數計..而你迭代列表中的實際項目)
for item in z:
if (",") in item:
count+=1
print count
你之所以再看到3爲你的答案是因爲這樣:
if (",") in z:
要跨列表,並在您檢查,如果','
在列表z
,它是列表中的每個元素進行迭代。你計數變量相應地增加。
你檢查過三次,'是'是否在z中。是的。是的,它仍然是。是的。這是3
for i in z:
if i == ',':
count+=1
print count
當您使用if (",") in z
蟒蛇檢查逗號是在你的清單,這將每次返回true,當你刪除「」從列表中它永遠不會產生真實,則將被計零,因此正確的版本將是
z=[1,2,","]
count=0
for i in z:
if i == ',':
count+=1
print count
,也是你的print語句不應該在你的身體
當你在衆多的答案解決的具體問題,還要考慮你的方法是否是最有效的/可讀。另請參閱https://docs.python.org/2/tutorial/datastructures.html#more-on-list count()。 – hexparrot 2014-11-03 19:07:10