我只会发布列表的格式。 我正在尝试拆分此列表:
list1 = [["first","22","25","35"],["second","22","25","35"]]
进入
list2 = [[["first"],["22"],["25"],["35"]],[["second"],["22"],["25"],["35"]]]
所以我可以在list2 [x] [y]中进行迭代,或者有更好的主意,请比较list1之间的值
for x in list:
list2.append(x.split(","))
但是它说列表没有split()方法。
同样,这是一个学习项目,因此它不需要给我直接的答案,我只是在寻找提示并帮助如何做。
答案 0 :(得分:0)
您可以zip
将两个子列表放在一起,然后从那里进行比较
l = [*zip(list1[0], list1[1])]
可以通过列表理解完成:
l = [(list1[0][idx], list1[1][idx]) for idx, item in enumerate(list1[1])]
[('first', 'second'), ('22', '22'), ('25', '25'), ('35', '35')]
从这里开始,您可以使用[i][0] and [i][1]
答案 1 :(得分:0)
您也可以嵌套使用map
来执行以下操作:
list1 = [["first","22","25","35"],["second","22","25","35"]]
list2 = list(map(lambda l: list(map(lambda e: [e], l)), list1))
print(list2)
# [[['first'], ['22'], ['25'], ['35']], [['second'], ['22'], ['25'], ['35']]]
但是,如果您的目标是仅比较每个元素,则可以执行以下操作:
list1 = [["first","22","25","35"],["second","22","25","35"]]
for e in zip(*list1): # will also work even if list1 has more than two lists
print(len(set(e)) == 1)
# False
# True
# True
# True