当前位置: 首页 > 面试题库 >

更改范围内的步长值功能?

刘辰钊
2023-03-14
问题内容
list1 = [1, 2, 3, 4]

我试图找出一种方法来更改每个打印的步骤值

我尝试过的

r = 0
for i in range(0, 10, list1[r]):
    print i
    r = r + 1

问题答案:

我建议为此使用while循环实现自己的生成器。范例-

def varied_step_range(start,stop,stepiter):
    step = iter(stepiter)
    while start < stop:
        yield start
        start += next(step)

然后,您可以将其用作-

for i in varied_step_range(start,stop,steplist):
    #Do your logic.

我们这样step = iter(stepiter)做是stepiter可以进行任何迭代的。

演示-

>>> def varied_step_range(start,stop,stepiter):
...     step = iter(stepiter)
...     while start < stop:
...         yield start
...         start += next(step)
... 
>>> for i in varied_step_range(0,10,[1,2,3,4]):
...     print i
... 
0
1
3
6


 类似资料:
  • 问题内容: 这是我的第一篇文章,所以请对我“轻松”。:) …我对许多传统的编程语言非常熟悉,但是我是Go语言的新手,很难理解切片和范围的用法。下面的程序代码和注释说明了我的震惊。谢谢! 编写了自己的Mod函数,因为在Go库中找不到。 声明结构数组并添加一些记录 加载数据会产生我期望的输出 现在,我修改值并打印它们,以查看它们是否显示为已修改。这看起来像预期的那样。 现在,我只需再次遍历同一范围并打

  • 问题内容: 我的应用程序中有以下服务: 然后在这样的控制器中使用它: 因此,基本上我的服务每5秒更新一次,因此我将其链接到。然后,我尝试了类似的不同方法,但是对所做的更改未反映在控制器和视图中。 它在我的模板中仍然为空。您知道我如何传播这些变化吗? 问题答案: 虽然使用可以解决问题,但这不是最有效的解决方案。您可能想要更改在服务中存储数据的方式。 问题是您每次在为范围分配指向旧位置的范围内分配新值

  • 问题内容: 我有一个要求,我必须找到不同年龄段的人数,例如: 我正在SQL Server中创建一个存储过程,该过程将首先创建一个临时表并存储年龄组,例如一列将为0,另一列将为5,依此类推。然后,我将遍历它们,找到最小和最大范围之间的计数,并将该计数与mim- max值一起存储在另一个临时表中。 是否有其他简便更好的方法来实现此输出。请指教。 问题答案: 也许与和: 演示版 或者,对于范围表,您可以

  • 问题内容: 假设我有一张Java地图,看起来像这样: 如果键按排序顺序(使用树图或链接哈希图)。现在,如果我尝试获取> = 39和<41的值。那么我应该获取字符串“ 39至41”。如何有效地执行此操作? 问题答案: 看起来您想要的不止一个; 你想要一个!具体来说,您可以使用该操作。 这是一个例子: 需要注意的是也有,,和也,而不是操作以及它返回而不只是。

  • 返回由边界值 a 和 b 限定范围内的 num 。 如果 num 在限定范围内,则返回 num 。 否则,返回范围内最接近的数字。 const clampNumber = (num, a, b) => Math.max(Math.min(num, Math.max(a, b)), Math.min(a, b)); clampNumber(2, 3, 5); // 3 clampNumber(1,

  • 我有: 我需要改变输入值从1.9到2.0但它显示只有2没有点和零