【问题标题】:Unable to analyse how this output came for this code snippet无法分析此代码段的此输出是如何产生的
【发布时间】:2020-07-23 15:51:39
【问题描述】:

我无法分析这段代码 sn-p 的输出是如何产生的:

l=[]

for i in range(1,9,2):   
            
           l.insert(i,i)

print(l)
output: [1, 1, 1, 3, 2, 5, 3, 7, 3, 5, 4, 7]

请解释一下这段代码sn-p。

【问题讨论】:

  • 该代码不会产生该输出。

标签: python python-3.x list for-loop


【解决方案1】:

l=[] 是一个空列表。第二行是for 循环。 range(1,9,2) 表示它的范围是从 1 到 9,但不包括数字 9。所以它是 8。最后一个数字 2 表示它增加 2。insert() 函数意味着它在 a 处插入一个 element列表中的某些index

但是,您确实没有得到您在问题中提出的指定输出。

【讨论】:

  • 我得到了同样的输出。
【解决方案2】:

range函数传入的参数有startstopstep。这意味着我们有从 startstop 的范围,并且在每次迭代中,我们都会增加 step。 所以,

for i in range(1, 9, 2):

意味着,我们从 1 到 9 迭代并在每一步增加 2。这意味着,i 将具有以下值:1、3、5、7

现在,

l.insert(i, i)

表示在索引 i 处插入值 i。插入函数接受参数为:

insert(index, value)

它在 index

处插入 value

【讨论】:

    猜你喜欢
    • 2020-05-14
    • 2019-11-12
    • 2014-03-19
    • 2020-11-13
    • 2018-06-16
    • 1970-01-01
    • 2014-03-24
    • 2017-10-22
    • 2011-05-21
    相关资源
    最近更新 更多