指定从-x到x的范围

问题描述 投票:0回答:1

我希望我的代码先计数到n,然后再计数到它的起始位置,例如n = 4:

1234321

我使用range()从1-4得到,然后反转(range())到4-1,但是它们是两个独立的块(我得到两个4),我确保有更好更好的方法。我试图指定从-n到n的范围,但是老实说我不知道​​是否应该使用长度,范围或切片或其他任何内容。我是编程的新手。

jupyter-notebook range counting
1个回答
0
投票

您也缺少abs功能以解决此问题。尝试类似以下的内容

n = 4;
for i in map(lambda x: n - abs(x),range(0-n+1, n)):
    print(i)

输出应类似于以下内容,

1
2
3
4
3
2
1

您也可以将其包装起来并返回如下的枚举数,

def riseAndFall(n):
    for i in map(lambda x: n - abs(x),range(0-n+1, n)):
        yield i

for i in riseAndFall(4):
    print(i)
© www.soinside.com 2019 - 2024. All rights reserved.