我有两个列表,第一个包含人们的姓名,每个人都与各种字符相关联,例如数字,字母,例如:
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] 删除。
我来说两句