python列表添加数字_python-两个列表中的数字对

我有两个清单:

a = [1,3,6,10,20]

b = [2,4,9,12,15,22,24,25]

现在,我想创建一个新列表,其中包含前两个列表中的对.对的定义如下:

>左值[l,..]:a [i]

>右边的[..,r]:如果a [i 1]存在,则a [i]和a [i 1]之间b中的最高数字,如果a [i]存在,则比a [i]大,否则仅比a [-1]大,且0

pair = [[1,2],[3,4],[6,9],[10,15],[20,25]]

有人知道该怎么做吗?

到目前为止,这是我所做的:

a = [1,25]

pairs = []

counter = 0

for i in range(max(len(a),len(b))):

try:

# get a[i]

ai = a[i]

except:

ai = a[-1]

try:

# get a[i+1]

ai1 = a[i+1]

except:

ai1 = b[-1]+1

temp = []

for bi in b:

if ai < bi and bi < ai1:

temp.append(bi)

# Avoid adding the last element of b again and again until i = len(b)

if max(temp) == b[-1]:

counter = counter +1

if counter <= 1:

print(max(temp))

pairs.append([ai,max(temp)])

没关系,因为它可以完成工作,但是我想知道,是否有更好,更有效的方法?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值