根据第二个列表中的元素对列表进行排序和过滤

格雷戈里

我有两个列表,第一个包含人们的姓名,每个人都与各种字符相关联,例如数字,字母,例如:

listNameAge = ['alain_90xx', 'fred_10y', 'george_50', 'julia_10l','alain_10_aa', 'fred_90', 'julia_50', 'george_10s', 'alain_50', 'fred_50', 'julia_90']

第二个包含该人的姓名:

listName = ['fred', 'julia', 'alain', 'george']

使用第二个列表,我想将第三个列表与第一个列表相关联,以使第一个列表中的每个名称与其在第二个列表中的索引位置相关联,即:

thirdlist = [2, 0, 3, 1, 2, 0, 1, 3, 2, 0, 1]

名称和字符之间用下划线分隔,但字符可以是任何种类。我可以遍历的元素listNameAge.split('_')在字符串上使用a将人物的名字与其余字符分开,找到它的名字,并listName使用第二个循环查找其索引

但是我想知道是否有更简单的方法来做到这一点,即避免使用循环而只使用一个理解列表?

科里·克莱默

您可以将中的每个项目放在上listNameAge,然后split在上'_',获取拆分的第一部分,然后使用index来在第二个列表中找到它。

>>> [listName.index(i.split('_')[0]) for i in listNameAge]
[2, 0, 3, 1, 2, 0, 1, 3, 2, 0, 1]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据第二个键对列表进行排序

按Swift中的第二个元素对列表列表进行排序?

按子列表python中第二个元素的长度对列表进行排序

按元组的第二个元素和绝对值对元组列表进行排序

如何基于列表中元组的第二个元素的总和对列表进行排序?

根据int数组的第一个和第二个元素对int数组的数组列表进行排序

在Haskell中按第一个元素然后第二个元素对元组列表进行排序

如何创建按第二个元素排序和分组的成对列表的列表?

使用 Java Stream 根据第二个列表中的值过滤列表

根据第二个列表(元组)中的值有效过滤 python 列表

根据Python中的第二个列表调整列表中的元素

根据字典列表中元组的第二个元素排序

根据第二个列表中值的索引位置,从嵌套列表中获取单个元素

根据第二个列表中的位数对列表项进行分组

Prolog - 在列表中查找倒数第二个和倒数第二个元素

如何按第二个元组元素对元组列表进行排序?

如何按列表的第二个元素对 Python DataFrame 进行排序

如何在C ++中基于第二个元素以降序对对列表进行排序

根据“元组”中的第二个元素进行过滤

如何根据对的第二个元素对 STL c++ 中的对集进行排序?

列表的第二个元素

Webdriver单击列表中的第二个元素

替换列表中的每个第二个元素

如何使用python中的第二个键对对列表进行排序?

按字母顺序对压缩列表进行排序,并根据另一个列表对第二个列表进行排序**双重排序**

如何对列表进行排序,同时重新排序第二个列表?

如何根据第二个值对元组列表进行排序而不对其进行硬编码

Python 。如果第二个元素相等,如何对子列表的元素进行排序 按第一个元素对子列表进行排序

如何在不使用lambda的情况下按第二个元素对列表进行排序?