【问题标题】:How to add elements to a list in a dictionay? [duplicate]如何将元素添加到字典中的列表中? [复制]
【发布时间】:2020-04-17 01:01:40
【问题描述】:

我一直在努力完成这项工作,也许我在这里遗漏了一些东西。

以下代码的目的是将在 CSV 的每一行的第 1 列找到的值添加到字典中,该字典在第二 (1) 位置连续一个列表,以便将新值附加到列表中并每次在 CSV 上找到相同的键时都不会被覆盖(因为相同的键出现多次重复)。

csr = {} 
    with open('RawPolicy.csv', newline='') as rulemaker:
        rmatcher = csv.reader(rulemaker, delimiter=" ")

        for row in rmatcher:
            lst = []        
            csr[row[6]]=[row[0],lst.append(row[1]),row[2],row[3],row[4],row[5]]

但我总是收到以下错误,这对我来说毫无意义,因为缩进对我来说似乎没问题。

当我从 for 循环内部删除 list(lst) 和“lst.append(row[1])”部分时,脚本可以工作,但不符合我的要求。

csr[row[6]]=[row[0],lista.append(row[1]),row[2],row[3],row[4],row[5]]

TabError: inconsistent use of tabs and spaces in indentation

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

    您的with 块缩进太远。应该是:

    csr = {} 
    with open('RawPolicy.csv', newline='') as rulemaker:
        rmatcher = csv.reader(rulemaker, delimiter=" ")
    
        for row in rmatcher:
            lst = []        
            csr[row[6]]=[row[0],lst.append(row[1]),row[2],row[3],row[4],row[5]]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-31
      • 2011-03-22
      • 2019-12-20
      • 2013-09-28
      相关资源
      最近更新 更多