【问题标题】:Python: Accessing List of Dict. Typeerror: Column name can't be strPython:访问字典列表。类型错误:列名不能是 str
【发布时间】:2017-07-09 17:00:40
【问题描述】:

我有一个关于在 Python 中访问 dict 列表的问题。我正在尝试访问 CSV 文件列中的所有值。我已将问题隔离并简化为下面的代码。

我正在尝试定义一个函数

输入: 1)数据集(字典列表) 2) 列名

输出:1) 列中所有值的打印列表

相反,我收到“TypeError:列表索引必须是整数或切片,而不是 str”

dict_1 = {'a':1, 'b':2, 'c':3}
dict_2 = {'a':4, 'b':5, 'c':6}
list_1 = [dict_1, dict_2]

def len_unique_element(data_set,column_name):

    data = ([data_set[column_name] for row in data_set])

    return print (data)

len_unique_element (list_1, 'a')

谢谢!

【问题讨论】:

    标签: python


    【解决方案1】:

    您应该在列表理解中将data_set 替换为row。 data_set 是 list,row 是 dict 中的 data_set。

    data = [row[column_name] for row in data_set]
    

    您应该使用return 或print 而不是组合它们。

    【讨论】:

      【解决方案2】:

      当您应该在行中查找时,您正在 data_set 中查找 column_name。

      def len_unique_element(data_set, column_name):
          return [row[column_name] for row in data_set]
      

      【讨论】:

        猜你喜欢
        • 2018-03-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-27
        • 2021-04-19
        相关资源
        最近更新 更多