rsc*_*rth 1 python for-loop list
我刚刚开始学习python.我试图找到数字列表中的最小整数.相反,我得到这个错误:
Traceback (most recent call last):
File "H:/Python/untitled/08_python.py", line 32, in <module>
if digits[e] < temp:
IndexError: list index out of range
Run Code Online (Sandbox Code Playgroud)
我意识到你可以使用min(数字),但我认为到目前为止我会挑战我的知识.我很可能犯了一个简单的错误,并没有正确诊断它.如果我在列表中抛出0,一切正常.
digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
low = 0
temp = 0
for e in digits:
if digits[e] < temp:
low = digits[e]
temp = digits[e]
print(low)
Run Code Online (Sandbox Code Playgroud)
for e in digits
直接遍历列表的内容.您不需要digits[e]
在该点使用,因为e
已经是值,而不是索引.这也是它失败的原因,因为digits[10]
它超出了你的清单的末尾.
其他一些小注意事项 - 您的代码仅适用于您开始时的正数low = 0
; 如果列表只有负数,那么你仍会得到0
你的结果.
一种方法可以通过将其设置None
为开头并检查它来避免这种情况:
low = None
for e in digits:
if low is None or low < e:
low = e
print(low)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
258 次 |
最近记录: |