python - 迭代 float 列表

标签 python list python-2.7

我有一个 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/

相关文章:

python - 无法使用 xhtml2pdf 将图像转换为 pdf(文件返回错误的 url)

python - 使用 strftime 格式化字典中的 datetime.timedelta 对象

python - 如何在 Python 中复制数组中的类对象

python - 使用重载比较运算符从 int 派生类访问原始 int 比较

Python 线性搜索效率更高

python - 如何设置/删除跨域cookie?

python - Pandas 适用,但仅适用于满足条件的行

java - 查找多个列表中的元素数量并合并;删除 if/else 复杂?

python - 如何将列表类型更改为str?

python - 使用迭代列表元素来命名循环中的变量