如何将包含字母表的列表插入另一个列表lof list列中?

时间:2017-10-02 16:40:17

标签: python list

我去了两个字母列表

headerListOne=['a', 'c', 'g', 'w', 'Q']

和另一个清单

headerListTwo=['a', 'c', 'w', 'Q', 'front', 'Z']

和两个数字列表列表:

listToCompare=[[9, 0, 2, 7, 0]]
listToCompareTwo=[[0, 0, 0, 0, 3, 5]]

我想得到一个输出:

 listToCompare=[[9,a,] [0,c] [2,g] [7,w] [0,Q]]
 listToCompareTwo=[[0,a], [0,c],[0,w], [0,Q], [3,front] [5,z]]

基本上我需要用字母表来引用每个数字。元组也是可能的,但我更喜欢列表方法,因为我对它们比较熟悉。

3 个答案:

答案 0 :(得分:1)

你可以试试这个:

headerListOne=['a', 'c', 'g', 'w', 'Q']
headerListTwo=['a', 'c', 'w', 'Q', 'front', 'Z']
listToCompare=[[9, 0, 2, 7, 0]]
listToCompareTwo=[[0, 0, 0, 0, 3, 5]] 
listToCompare = [[a, b] for a, b in zip(listToCompare[0], headerListOne)]
listToCompareTwo = [[a, b] for a, b in zip(listToCompareTwo[0], headerListTwo)]

输出:

[[9, 'a'], [0, 'c'], [2, 'g'], [7, 'w'], [0, 'Q']]
[[0, 'a'], [0, 'c'], [0, 'w'], [0, 'Q'], [3, 'front'], [5, 'Z']]

编辑:

如果您有嵌套列表,可以试试这个:

listToCompareTwo=[[0, 0, 0, 0, 3, 5],[1,2,3,4,5,6]]
headerListTwo=['a', 'c', 'w', 'Q', 'front', 'Z']
final_list = [[[a, b] for a, b in zip(i, headerListTwo)] for i in listToCompareTwo]

输出:

[[[0, 'a'], [0, 'c'], [0, 'w'], [0, 'Q'], [3, 'front'], [5, 'Z']], [[1, 'a'], [2, 'c'], [3, 'w'], [4, 'Q'], [5, 'front'], [6, 'Z']]]

答案 1 :(得分:0)

基本上我们想要结合两个列表,我们可以使用map函数。命令如下:

map(listToCompare, zip(headerListOne, listToCompare))

所以输出结果为:

listToCompare=[[9, a], [0, c], [2, g], [7, w] [0, Q]]

答案 2 :(得分:0)

所以我这样做只是为了你需要改变一些小东西做第二行,但这里是:

if len(headerListOne) is len(listToCompare):
    for idx, val in enumerate(headerListOne):
        listToCompare[idx]=[listToCompare[idx], val]