Python 一个小的编程难题
这个python代码统计列表Python 一个小的编程难题,python,Python,这个python代码统计列表z中的所有逗号。为什么?答案是3。什么时候应该是1。人们可以通过改变元素进行测试 若列表元素逗号“”被删除,程序将生成空白,而不是2个逗号作为计数 问题: 有人能回答为什么只计算逗号吗 为什么逗号计数应为1时为3 谢谢将其更改为 z=[1,2,","] count=0 for i in z: if (",") in z: count+=1 print count 实际上,您应该使用更好的名称(i通常指数组中的索引或整数计
z
中的所有逗号。为什么?答案是3。什么时候应该是1。人们可以通过改变元素进行测试
若列表元素逗号“”被删除,程序将生成空白,而不是2个逗号作为计数
问题:
z=[1,2,","]
count=0
for i in z:
if (",") in z:
count+=1
print count
实际上,您应该使用更好的名称(i
通常指数组中的索引或整数计数..而您正在迭代列表中的实际项)
您之所以将3视为您的答案,是因为:
for item in z:
if (",") in item:
count+=1
print count
您在列表中进行迭代,并且对于列表中的每个元素,您都要检查列表中是否有
,“
”。计数变量相应地递增。三次检查“,”是否在z中。是的。是的,现在仍然是。是的。那是3
if (",") in z:
当在z中使用if(“,”)时
python会检查逗号是否在列表中,并且每次都会返回true;当从列表中删除“,”时,它永远不会生成true,并且计数将为零,因此正确的版本将为
for i in z:
if i == ',':
count+=1
print count
以及你的打印声明不应该在你的正文
中,而你在众多答案中所关注的具体问题,也要考虑你的方法是否是最有效的/可读的。另请参见count()。for i in z:
if i == ',':
count+=1
print count
z=[1,2,","]
count=0
for i in z:
if i == ',':
count+=1
print count