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

Python的range函数如何工作?

乌杰
2023-03-14
问题内容

如果我写

for i in range(5):
      print i

然后给出0、1、2、3、4,这
是否意味着Python同时向i分配了0、1、2、3、4?
但是,如果我写了:

for i in range(5):
      a=i+1

然后我叫a,它只给出5,
但是如果我加上“ print a”,它得到1、2、3、4、5。
所以我的问题是,这有什么区别?
是字符串还是列表还是其他?

也许有人可以帮助我进行梳理:

for l in range(5):
    #vs,fs,rs are all m*n matrixs,got initial values in,i.e vs[0],fs[0],rs[0] are known
    #want use this foor loop to update them
    vs[l+1]=vs[l]+fs[l]
    fs[l+1]=((rs[l]-re[l])
    rs[l+1]=rs[l]+vs[l]
#then this code gives vs,fs,rs

如果运行此类代码,则仅当l = 5时才能得到答案。
如何使它们开始循环?

即l = 0获得了vs [1],fs [1],rs [1]的值,
然后l = 1获得了vs [2],rs [2],fs [2]的值…以及以此类推。
但是python给出了fs,vs,rs的不同数组,对应于l的不同值

我如何使它们一件?


问题答案:

在大多数(如果不是全部)编程语言中,“ for循环”是一种可以多次运行一段代码的机制。

这段代码:

for i in range(5):
    print i

可以这样工作:

i = 0
print i
i = 1
print i
i = 2
print i
i = 3
print i
i = 4
print i

所以你看,什么情况是不是i得到值0,1,2,3,4 与此同时 ,而是顺序。

我假设当您说“ call a,它只给出5”时,您的意思是这样的:

for i in range(5):
    a=i+1
print a

这将打印给出的 最后一个 值。每次循环迭代时,该语句a=i+1a用新值覆盖上一个值。

代码基本上按顺序从上到下运行,而for循环是一种使代码返回并再次执行的方法,其中一个变量的值不同。

我希望这能回答您的问题。



 类似资料:
  • 问题内容: 对于我正在编写的某些代码,我需要从1到20跳过6进行迭代。 有没有办法更有效地做到这一点? 问题答案: 在python 2中,您没有合并“范围函数”;这些只是列表。您的示例效果很好。但是range总是在内存中创建一个完整列表,因此,如果仅在for循环中需要,一种更好的方法是使用生成器表达式和xrange: 在生成器表达式中,if部分可以包含要跳过数字的复杂逻辑。 组合可迭代对象的另一种

  • 问题内容: python split方法内部实际上有什么作用? 问题答案: 原始字符串与Python字符串 的 [R 是 表明 它是一个 原始字符串 。 原始字符串与常规python字符串有何不同? 该 特殊字符失去 其 内部特殊的意义 一个 原始字符串 。例如,python字符串中的换行符将在原始字符串中失去其含义,仅表示反斜杠后跟n。 将中断和拆分传递的参数,并返回列表中的所有部分。该列表将不

  • 问题内容: 试图了解和内置函数的工作方式。 我正在尝试比较元组,以便如果任何值不同,则它将返回,如果它们都相同,则将返回。在这种情况下,他们如何工作以返回[False,False,False]? 是一个。 据我所知,这应该输出 因为相同,不同,并且相同。 为什么对所有元组求值为False? 问题答案: 你可以粗略地认为和作为系列的逻辑和分别运营。 任何 当至少一个元素是 时将返回。阅读有关真值测试

  • 问题内容: JavaScript中是否有类似于Python的函数? 我认为应该有比每次编写以下几行更好的方法: 问题答案: 不 ,没有,但 您可以制造一个 。 JavaScript的Python实现 尝试 模拟它在Python中的工作方式 ,我将创建类似于以下的函数: 请参阅此jsfiddle以获取证明。 JavaScript和Python之间的比较 它的工作方式如下: 返回, 返回, 返回, 返

  • 问题内容: 遍历一系列数字并跳过一个值的有效方法是什么?例如,范围是从0到100,而我想跳过50。 编辑:这是我正在使用的代码 问题答案: 您可以使用以下任何一种:

  • range函数是个神奇而有趣的内置函数,你可以使用它来遍历数组,切片和字典。 当用于遍历数组和切片的时候,range函数返回索引和元素; 当用于遍历字典的时候,range函数返回字典的键和值。 package main import "fmt" func main() { // 这里我们使用range来计算一个切片的所有元素和 // 这种方法对数组也适用 nums := [