【发布时间】:2020-07-18 01:49:48
【问题描述】:
我想创建一个配对号码列表。例如,我有一个数字列表如下:
a = [1, 4, 7, 10, 13, 16, 19, 21, 24, 27, 30]
我想创建一个这样的配对列表:
paired_list_a = [[1,3],[4,6],[7,9],[10,12],[13,15],[16,18],[19,20],[21,23],[24,26],[27,29]]
也就是说,我想跳过第一个元素,并将数字与它们旁边的数字与减一配对。
我尝试过类似的方法,但没有成功
paired_list_a = [1, 4, 7, 10, 13, 16, 19, 21, 24, 27, 30]
row = [[a[i],a[i+1]-1] for i in range(len(a))]
但它正在抛出IndexError: list index out of range
谁能帮我解决这个问题?
【问题讨论】:
-
b的列表是什么? -
我很确定你可以通过
zip获得更多信息realpython.com/python-zip-function -
你需要使用
range(len(a)-1),否则a[i+1]不在列表中。 -
只需使用 zip:
[[n, m-1] for n, m in zip(a, a[1:])]
标签: python pandas list dataframe for-loop