在Python中更新值
你好,我正试图写一个程序,读取不同品种的不同动物的CSV文件。命名不同的各种动物可以属于同一品种。(想象一下两只猫叫鲍勃和萨姆) 品种在一列,名称在另一列 我希望能够检查所有的动物,并计算每个品种的动物数量 到目前为止,我的代码如下所示:在Python中更新值,python,arrays,csv,dictionary,Python,Arrays,Csv,Dictionary,你好,我正试图写一个程序,读取不同品种的不同动物的CSV文件。命名不同的各种动物可以属于同一品种。(想象一下两只猫叫鲍勃和萨姆) 品种在一列,名称在另一列 我希望能够检查所有的动物,并计算每个品种的动物数量 到目前为止,我的代码如下所示: dragon = open('dragons.csv') breed = {} for line in dragon: row = line.strip().split(',') if row[4] in breed.keys(): el
dragon = open('dragons.csv')
breed = {}
for line in dragon:
row = line.strip().split(',')
if row[4] in breed.keys():
else:
breed[row[4]] = 1 #The Breed is in the fourth column
if row[4] in breed.keys():
breed[row[4]] += 1
else:
breed[row[4]] = 1
我该怎么做
谢谢大家! 正如评论所指出的,缩进在python中很重要。
else
与if
不在同一缩进级别,因此会出现错误
至于计数,+=
运算符对此很有用,因此if/else块可以如下所示:
dragon = open('dragons.csv')
breed = {}
for line in dragon:
row = line.strip().split(',')
if row[4] in breed.keys():
else:
breed[row[4]] = 1 #The Breed is in the fourth column
if row[4] in breed.keys():
breed[row[4]] += 1
else:
breed[row[4]] = 1
正如评论所指出的,缩进在python中很重要。
else
与if
不在同一缩进级别,因此会出现错误
至于计数,+=
运算符对此很有用,因此if/else块可以如下所示:
dragon = open('dragons.csv')
breed = {}
for line in dragon:
row = line.strip().split(',')
if row[4] in breed.keys():
else:
breed[row[4]] = 1 #The Breed is in the fourth column
if row[4] in breed.keys():
breed[row[4]] += 1
else:
breed[row[4]] = 1
您的
else
块缩进不足(else
可以与for
配对,但这并不常见,并且代码的逻辑表明此处存在错误)
即使解决了这个问题,Python中也不能有空块,因为Python至少需要一行缩进的代码来检测块的缩进级别(以允许它检测块何时结束)。如果不为块提供任何实体(立即启动新块,或在提供实体之前结束外部块),则会出现您提到的“预期缩进块”错误。因此,您可以使用pass
(no op关键字表示“这里有一些东西放在一个没有任何作用的块中”):
或者只需反转if
测试即可控制else
块,这样您就不需要同时使用这两个模块:
if row[4] not in breed:
breed[row[4]] = 1 #The Breed is in the fourth column
您的
else
块缩进不足(else
可以与for
配对,但这并不常见,并且代码的逻辑表明此处存在错误)
即使您解决了这个问题,Python中也不能有空块,因为Python至少需要一行缩进的代码来检测块的缩进级别(以允许它检测块何时结束)。当您没有为块提供任何主体时(立即启动新块,或在提供主体之前结束外部块),您会得到您提到的“预期缩进块”错误。因此,您可以使用pass
(no op关键字表示“此处有一些东西放在一个没有任何作用的块中”:
或者只需反转if
测试即可控制else
块,这样您就不需要同时使用这两个模块:
if row[4] not in breed:
breed[row[4]] = 1 #The Breed is in the fourth column
另外,在“else:”行,它给了我一个错误“预期缩进块”,我不理解您的
else
语句必须与if
处于同一级别。目前,它是独立的,在同一级别上没有if
,因此它需要缩进。您必须在else和if上放置相同的缩进。因此,如果存在缩进问题,请添加缩进。缩进代码properly@kmario23我才意识到我是个白痴PAlso在“else:”行,它给了我一个“预期缩进块”的错误,我不理解您的else
语句必须与if
处于同一级别。目前,它是独立的,在同一级别上没有if
,因此它需要缩进。您必须在else和if上放置相同的缩进。因此,如果存在缩进问题,请添加缩进。缩进代码properly@kmario23我才意识到我是个白痴太感谢你了!非常感谢,非常感谢!非常感谢。