Python - 使用另一个列表迭代python列表

时间:2017-10-25 17:00:48

标签: python sqlite

我遇到了以下问题:

我有一个包含大量重复数据的列表。这包括条目号和名称。

以下为我提供了Data2014表中人员的唯一(非重复)名称列表:

   tablequery = c.execute("SELECT * FROM Data2014")
   tablequery_results = list(people2014)
   people2014_count = len(tablequery_results)
   people2014_list = []
    for i in tablequery_results:
        if i[1] not in people2014_list:
            people2014_list.append(i[1])
    people2014_count = len(people2014_list)
    # for i in people2014_list:
    #     print(i)

现在我有一份人员名单。我需要再次遍历tablequery_results,但是,这次我需要找到每个人拥有的唯一条目号的数量。 tablequery_results列表中有大量重复项。如果没有为每个人的姓名创建代码块,有没有办法使用people2014_list中的名称作为唯一标识符来迭代tablequery_results?我可以复制上面的代码给我一个唯一的条目号列表,但我似乎无法将这些名称与唯一的条目号匹配。

如果没有意义,请告诉我。

提前致谢!

1 个答案:

答案 0 :(得分:1)

我在深入研究SQL之后发现了我的答案。这给了我一个包含两列的列表。第一列中的人员姓名,然后是第二列中人员的条目数。

def people_data():
    data_fetch = c.execute("SELECT person, COUNT(*) AS `NUM` FROM Data2014 WHERE ACTION='UPDATED' GROUP BY Person ORDER BY NUM DESC")
    people_field_results = list(data_fetch)
    people_field_results_count = len(people_field_results)
    for i in people_field_results:
        print(i)
    print(people_field_results_count)