我去了两个字母列表
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]]
基本上我需要用字母表来引用每个数字。元组也是可能的,但我更喜欢列表方法,因为我对它们比较熟悉。
答案 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]