gpt4 book ai didi

python - 在 python 中进行移位排列

转载 作者:行者123 更新时间:2023-11-28 20:26:33 26 4
gpt4 key购买 nike

我需要做一个看起来像 1-N 序列的排列,其中在 #k 中填充了 0。

这个方法可行,但是使用内置函数有什么更简单的方法吗?

def permshift(n,k):
return [0 if x == k else x+(x<k) for x in range(n)]

>>> permshift(7,0)
[0, 1, 2, 3, 4, 5, 6]
>>> permshift(7,1)
[1, 0, 2, 3, 4, 5, 6]
>>> permshift(7,2)
[1, 2, 0, 3, 4, 5, 6]
>>> permshift(7,3)
[1, 2, 3, 0, 4, 5, 6]
>>> permshift(7,4)
[1, 2, 3, 4, 0, 5, 6]
>>> permshift(7,5)
[1, 2, 3, 4, 5, 0, 6]
>>> permshift(7,6)
[1, 2, 3, 4, 5, 6, 0]

最佳答案

只需创建一个新列表,然后在需要的地方插入 0

def permshift(n, k):
lst = range(1, n)
lst.insert(k, 0)
return lst

关于python - 在 python 中进行移位排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11252597/

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