我有一个浮点数列表,我需要迭代并找到最后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
答案 0 :(得分:3)
当您引用列表中的特定元素时,您可以按索引指定其位置。正指数值表示计数应从左向右开始,负数表示计数应从右向左开始。
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]
(注意分号)
遍历整数列表,字符串或浮点列表不是不同的东西。它们都以相同的方式处理,你只是有一个语法错误,即。检查for
行并记住解释。
更新:
您可以使用min
函数从元素列表中获取最小值,而无需迭代元素。它会是这样的min_value = min(list[-4:])
答案 1 :(得分:0)
现在,您的代码仅从列表中获取第四个最后一项。
如果你想从数组中取出最后四个元素来迭代,你需要改变代码:
for i in list[-4:]:
print i
答案 2 :(得分:0)
切片的第一部分是开头。如果你不提供第二部分,它就会得到那个元素 尝试以下方法:
for i in list [-4:]: