【发布时间】:2018-12-25 13:55:54
【问题描述】:
我使用 SQL 查询并将一长串三元组接收到名为“结果”的变量中。
三元组中的信息是:
* 散列电子邮件(长字符串)
* 列表 ID(整数)
* 列表类型(单个字符,A 或 P)
以下是一些记录的示例:
In[2]: for a,b,c in results:
print a
print b
print c
Out[2]:978a0eefffeb11b0890afe7066154806
11530
A
978a0eefffeb11b0890afe7066154806
11504
A
c445fb5c367a18f406f96847e02ff825
11508
P
c445fb5c367a18f406f96847e02ff825
11541
P
其中 a 是经过哈希处理的电子邮件,b 是列表 ID,c 是列表类型。
* 一封电子邮件可以在多个列表中找到
* 列表类型只能是这两种(A 或 P)之一
给定变量“结果”,我想以一种有效的方式排列这些数据,其中我有三元组:
[列表ID,列表类型,[电子邮件列表]]
【问题讨论】:
-
这取决于您以后将如何处理或使用这些数据。如果有一条信息是最重要的,那么存储数据的最有效方式就是字典。否则,你已经有了一个“三胞胎列表”(
results) -
我以后的目标是迭代数据,一次一个列表ID。做一个简单的 if-else 来检查每个列表 id 的类型,然后迭代电子邮件。
-
列表ID在所有条目中是否唯一?请记住,将 SQL 查询更改为包含 group by 子句而不是 Python 中的后处理可能更有效
-
我们需要更多关于您的数据以及您稍后将如何使用这些数据的信息,以便能够为您提供有用的答案
-
列表 id 可以是下一个模板的一部分,使用不同的电子邮件,但绝对是相同的类型
标签: python list loops dictionary data-structures