Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python按标识符列出提取元素_Python_List_Iterator_Append - Fatal编程技术网

Python按标识符列出提取元素

Python按标识符列出提取元素,python,list,iterator,append,Python,List,Iterator,Append,我在Python中有两个列表,并希望通过它们的第一列来导出它们的值。第一个列表有两列,第二个列表有一列: type: id: xc1x 45 xf4g 65 gthz 32 gtr7 22 type: (new ID) xc1x xc1x gtr7 xf4g xc1x gthz gtr7 第二个列表应按类型追加第一个列表中的ID。因此,Python应该遍历第二个列表(仅“type”),并在匹配时从第一个列表(type和id)中获取id。做这件事的

我在Python中有两个列表,并希望通过它们的第一列来导出它们的值。第一个列表有两列,第二个列表有一列:

 type:  id:
 xc1x   45
 xf4g   65
 gthz   32
 gtr7   22

 type:  (new ID)
 xc1x
 xc1x
 gtr7
 xf4g
 xc1x
 gthz
 gtr7

第二个列表应按类型追加第一个列表中的ID。因此,Python应该遍历第二个列表(仅“type”),并在匹配时从第一个列表(type和id)中获取id。做这件事的好方法是什么?列表有50-1000行。

如何存储此列表?好像是一本字典。如果是这样,您只需要迭代第一个,并将其值存储在第二个中。这似乎是您在寻找如何加入的方法。

根据您的评论,通过执行
list(zip(ab,cb))
将第一个列表创建为元组列表。我想你最好还是把它写成一个dict:

id_dict = {type: id for type, id in zip(ab, cb)}  # this is the "first list" equivalent
现在,要获取第二个列表中任何内容的ID,您只需执行以下操作:

for type in second_list:
    id = id_dict[type]  # now do whatever you want with this

或者你可以用另一种理解来建立另一个目录或列表。有了更多关于最终目标的上下文,就可以更容易地建议从这里开始的方向。

列表如何有“列”?第一个列表是元组列表吗?我使用“list(zip(ab,cb))”函数将两个列表放在一起,并创建第一个确实构成元组列表的列表。你这样做而不是制作字典有什么原因吗?我对许多其他包含两个以上值的列表使用的zip()函数。主要是把三到七个值放在一起。在这种情况下,字典是个好主意。但据我所知,dict只适用于两个值,而不适用于更多值。