[英]How do I separate a normal “print” from a “for print”?
只是要直截了當,但是當我在寫完“for print”之后寫一個普通的“print”時,我只得到最后一個單詞的字母。 這是我寫的
print("Animal list:")
animallist = ["cows", "sheep", "pigs", "horses", "chickens", "goats", "ducks"]
for animallist in animallist:
print (animallist)
當我寫這個的時候
print("Animal list:")
animallist = ["cows", "sheep", "pigs", "horses", "chickens", "goats", "ducks"]
for animallist in animallist:
print (animallist)
print(animallist[4])
它只是顯示列表和最后一個單詞的最后一個字母。
所以我想要做的是一個普通的列表,底部也有“雞”。 我不擅長這個,所以我有點無能為力,希望得到一些幫助,我正在尋找的東西看起來像
Animal list:
cows
sheep
pigs
horses
chickens
goats
ducks
chickens
理解列表和列表中的項目:
print("Animal list:")
animallist = ["cows", "sheep", "pigs", "horses", "chickens", "goats", "ducks"]
for animal in animallist:
print (animal)
print(animallist[4])
當python運行for循環時,它將變量animallist
重新分配給animallist
的每個項目animallist (class 'list')
(“ animallist (class 'list')
”、“sheep”、“pigs”等屬於class 'str'
),所以變量animallist
已成為class 'str'
。 當 for 循環迭代到列表的最后一項,即"ducks"
,它將animallist
分配給值"ducks"
,因此當它運行print(animallist[4])
,它將打印該列表的第 4 個索引字符串"ducks"
,即s
。
您可以在此處看到您的animallist
變量的類型已更改:
animallist = ["cows", "sheep", "pigs", "horses", "chickens", "goats", "ducks"]
print(type(animallist))
for animallist in animallist:
pass
print(type(animallist))
輸出:
<class 'list'>
<class 'str'>
所以你不應該對循環函數和迭代中的變量使用相同的名稱。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.