【问题标题】:can't multiply sequence by non-int of type 'float' ERROR when trying to multiply a float number with len(list)尝试将浮点数与 len(list) 相乘时,无法将序列乘以“float”类型的非整数错误
【发布时间】:2020-11-25 09:03:30
【问题描述】:

我正在尝试从给定SPLIT_SIZE = 0.9 的列表中随机抽取样本,但我遇到以下错误:TypeError: can't multiply sequence by non-int of type 'float'。 这是给出错误的代码行:

list = os.listdir(SOURCE)
training_set = random.sample(list, float(SPLIT_SIZE)*int(len(list)))

SOURCE 是一个包含图像的目录。

我将不胜感激!

【问题讨论】:

  • random.sample() 的目的是从一个序列中挑选 N 个不同的项目。 N 必须是整数;挑选一件物品的一半是没有意义的。你想做什么?
  • 另外int(len(list))是多余的,len总是返回一个int

标签: python list


【解决方案1】:

random.sample 的第二个参数必须是整数类型。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-13
    • 1970-01-01
    • 1970-01-01
    • 2021-05-29
    • 1970-01-01
    • 1970-01-01
    • 2011-04-06
    • 2012-09-17
    相关资源
    最近更新 更多