jupyter-notebook - 指定从 -x 到 x 的范围
问题描述
我希望我的代码最多计数到一个数字 n,然后计数到它开始的位置,例如 n=4:
1 2 3 4 3 2 1
我使用 range() 从 1-4 得到,然后 reversed(range()) 得到 4-1,但它们是两个单独的块(我会得到两个 4),我确定有一种更好更清洁的方法。我试图指定从 -n 到 n 的范围,但老实说,我不知道是否应该使用长度、范围或切片或其他什么。我对编程很陌生。
解决方案
您也缺少 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)
推荐阅读
- python - wfastcgi-enable 创建进程失败
- python - Python TypeError:“str”和“int”的实例之间不支持“>”
- unity3d - Unity shader graph 10.5.1 - 纹理2D大问题
- css - 如果 Shopify 产品页面中出现换行符,如何缩小字体大小?
- r - 从栅格中提取一些值作为矩阵,进行转换并将转换后的值放到其原始位置
- java - 静态日历变量上的 sonarqube 错误
- javascript - 我正在尝试制作一个简单的计算器并且在执行第二次操作时遇到问题
- azure - CosmosDb 缓慢的 changefeed 性能和高分区键基数
- postgresql - 如何确保两列的组合始终是唯一的?
- android - Kotlin:如何通过按任意三个按钮取消正在进行的计时器,然后重新启动计时器?