[英]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.