【发布时间】:2018-04-25 17:20:06
【问题描述】:
您好,我已经通过 Stackoverflow 进行了搜索,并且一直在努力应对以下与列表相关的挑战,但作为一名 Python 新手,我很难过。
我目前有 2 个测试数据列表,一个包含用户信息(新旧用户 ID 后跟名称数据),另一个包含用户和页码列表 (eeIDlist)。我想检查与特定用户关联的页码是否与新 ID 或旧 ID 匹配,如果任一 ID 匹配,则将页码附加回原始列表。
我已经将一个列表匹配并附加到 CompanyName 列表,但该列表似乎呈指数级增长并代表所有用户页面数据,而不仅仅是与个人相关的页码。
热烈欢迎建议!
我的代码如下:
pagenumbers=[]
for i in CompanyNameList:
for ee in i:
for eeid in eeIDlist:
try:
if (str(eeid[1]) in ee):
pagenumbers.extend([eeid[0]])
i.append(pagenumbers)
i.append([eeid[0]])
except ValueError:
print "Not a valid number"
print i
我的源数据如下:
CompanyNameList:
[['144128', '40013', 'John', 'Dodge', 'F', 'DODGEJ'],['144130', '40023', 'John', 'Apple', 'Z', 'APPLEJ'],['144131', '40050', 'Gerald', 'Key', 'M', 'KEYG'],['144138', '40074', 'Saul', 'VanWinkle', 'VANWINKLE']]
用户 ID 和页码 eeIDlist:
[[144128,1],[144138,12],[144130,6],[144131,9],[40013,153],[40074,310],[40023, 210],
[40050,250]]
所需的输出列表:
[['144128', '40013', 'John', 'Dodge', 'F', 'DODGEJ',[1,153]],
['144130', '40023', 'John', 'Apple', 'Z', 'APPLEJ',[6,210]],
['144131', '40050', 'Gerald', 'Key', 'M', 'KEYG',[9,250]],
['144138', '40074', 'Saul', 'VanWinkle', 'VANWINKLE',[12,310]]]
【问题讨论】:
-
i.append(pagenumbers)的目的是什么?该代码是个坏消息,您将多个引用附加到正在扩展的列表中。