gpt4 book ai didi

python - 使用连续数字将列表向左和向右扩展至总长度的 50%

转载 作者:行者123 更新时间:2023-12-01 13:12:41 25 4
gpt4 key购买 nike

我有几个列表,比如,

l1=[8,9,10,11,12,13]
l2=[25,26,27,28,29]

现在我想用连续数字以两种方式扩展列表(右侧长度的 50% 和左侧长度的 50%)。

所以输出列表看起来像,

l1=[5,6,7,8,9,10,11,12,13,14,15,16]
l2=[23,24,25,26,27,28,29,30,31]

我可以使用 for 循环来完成它,但是是否有任何我正在寻找的 python 快捷方式。

最佳答案

如果您的列表是一个有序的整数列表,您可以这样做:

l = [25,26,27,28,29]

length_l = len(l)
while len(l) < 2*length_l:
l = [l[0]-1] + l + [l[-1]+1]

print(l)

# > [5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]

但它可以通过使用 range 再次生成列表来完成,如下所示:

l = [8,9,10,11,12,13]

l = list(range(l[0]-len(l)//2, l[-1]+len(l)//2+1))

print(l)

# > [23, 24, 25, 26, 27, 28, 29, 30, 31]

关于python - 使用连续数字将列表向左和向右扩展至总长度的 50%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59099703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com