我有一个 float 列表,需要对其进行迭代并找到最后 4 个数字中最低的值
list = [1.1344, 1.254, 1.654, 1.2335, 1.43545]`
for i in list [-4]:
print i
但我不断得到:
TypeError: 'float' object is not iterable
最佳答案
当您引用列表中的特定元素时,您可以通过索引指定其位置。正数索引值表示从左到右开始计数,负数表示从右到左开始计数。
a = [0.1, 1.1, 2.1, 3.1, 4.1]
b = a[-4]
print(b)
# this will print 1.1
因此您引用了一个元素,但不是原始列表中的一系列元素。
要获得 a
的切片,您应该使用类似的东西
a = [0.1, 1.1, 2.1, 3.1, 4.1]
b = a[-4:]
print(b)
# this will print [1.1, 2.1, 3.1, 4.1]
因此,要引用一系列元素,您应该指示该范围,并且可以通过以下方式完成 list[start_index:end_index]
(注意分号)
迭代整数列表、字符串或 float 列表没有什么不同。它们都以相同的方式处理,只是有一个语法错误。检查 for
行并记住解释。
更新:
您可以使用 min
函数从元素列表中获取最小值,而无需迭代元素。它会像这样 min_value = min(list[-4:])
关于python - 迭代 float 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36972607/