List: [['1', '2', '4'],['1', '4', '8'],['03', '8', '6', '1', '62', '7'],['53', '8', '2', '82']]
下面的代码在列表中:
neighbor1 = [list[i:i + 2] for i in range(0, len(list), 1)]
输出:
[[['1', '2', '4'],['1', '4', '8']],[['03', '8', '6', '1', '62', '7'],['53', '8', '2', '82']]]
[[['1','2','4'],['1','4','8']],[['03','8','6','1 ','62','7'],['53','8','2','82']]]
但我想要:
[[['1','2'],['2','4']],[['1','4'],['4','8']],[['03','8'],['8','6'],['6','1'],['1','62'],['62','7']],[['53','8'],['8','2'],['2','82']]]
答案 0 :(得分:0)
您快到了,只需要再深入一层即可。
[[x[i:i+2] for i in range(len(x)-1)] for x in List]
永远不要使用关键字list
作为变量名,否则您可能会遇到一些非常奇怪的事情...
答案 1 :(得分:0)
您需要按元素对元素分组。
一种典型的方法是:
for p, n in zip(your_list[:-1], your_list[1:]):
pair = p, n
其中 p 代表每个先前的元素, n 代表每个下一个元素。
有了这些,您将可以解决您的问题。
例如:
rows = [['1', '2', '4'],
['1', '4', '8'],
['03', '8', '6', '1', '62', '7'],
['53', '8', '2', '82']]
result = [list(zip(row[:-1], row[1:]))
for row in rows]
print(result)
您得到:
[[('1', '2'), ('2', '4')], [('1', '4'), ('4', '8')], [('03', '8'), ('8', '6'), ('6', '1'), ('1', '62'), ('62', '7')], [('53', '8'), ('8', '2'), ('2', '82')]]