繁体   English   中英

迭代一个浮点列表

[英]Iterate over a list of floats

我有一个浮点数列表,我需要迭代并找到最后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] (注意分号)

迭代整数列表,字符串或浮点列表不是不同的东西。 它们都以相同的方式处理,你只是有一个语法错误,即。 检查for在头脑里的解释线。

更新:
您可以使用min函数从元素列表中获取最小值,而无需迭代元素。 它会是这样的min_value = min(list[-4:])

现在,您的代码仅从列表中获取第四个最后一项。

如果要从数组中获取最后四个元素进行迭代,则需要更改头发代码:

for i in list[-4:]:
    print i

切片的第一部分是开头。 如果您不提供第二部分,则只需获取该元素,请尝试以下操作:

for i in list [-4:]:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM