python - 使范围列表在指定值处开始和结束的 Pythonic 方法,这要求第一步小于列表其余部分的步骤
问题描述
我有一些有效的代码,但我想知道是否有一种 Pythonic 方法可以做到这一点。用户需要一个频率列表来测试,它永远不会从 0Hz 开始,用户将输入开始、停止和步进值以生成一个值列表来测试某些设备,他们需要的是一个在这些值处开始和停止的列表而不是那些python用来制作范围的。我有这个可行,但我必须捏造起始值。
代码
start = 1
stop = 100
step = 10
out = (list(range(start-start, stop+step, step)))
out[0] = start
print(out)
输出
[1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
有没有一种 Pythonic 的方式来生成列表而不必使用
out[0] = start
线?
解决方案
如果您想将相同的逻辑重构为更 Pythonic 的方法,则可以使用列表推导
out = [start if i == 0 else i for i in range(start-start, stop+step, step)]
推荐阅读
- jmeter - 如何在 JMeter 中监控每个线程组的并发用户执行情况
- c++ - 等到 C++ 中的事件发生的最佳方法是什么?
- twitter-bootstrap-3 - 下拉菜单中的 Timepicker 选择选项
- reactjs - 删除反应项目
- java - 硒中的产品折扣计算验证
- laravel-livewire - laravel livewire 显示 flash 消息,3 秒后隐藏。再次触发时再次显示
- versioning - 柯南版本控制 - 获取柯南安装版本的最高补丁
- r - 使用 Arima 进行时间序列分析
- android - 如何理解 MediaCodec 的用户界面以提高编解码器性能?
- java - `@Nullable @org.jetbrains.annotations.Nullable Intent data` 有什么作用,是否有必要?