【问题标题】:Python, adding a different characteristic to each element of a listPython,为列表的每个元素添加不同的特征
【发布时间】:2021-04-28 10:26:36
【问题描述】:

我目前正在开发一种生产优化工具。有些工作需要在机器上生产。

我想为机器添加一个工作速度,以便它们可以根据处理工作的机器以不同的速度完成工作。

这是我用于机器的类和列表:

number_of_machines = 3

class Machine(object):
    def __init__(self, workload, workspeed): 
        self.workload = workload
        self.workspeed = workspeed

all_machines =[] 
for i in range(number_of_machines):
    all_machines.append(Machine(0)) #puts the workload of all machines to 0 before the loop starts

我想为列表“all_machines”中的每个对象添加不同的浮点数(例如 0.5、1.0、1.5)

非常感谢您的帮助!

提前致谢!

【问题讨论】:

  • 您的问题不清楚,请考虑修改。

标签: python list add


【解决方案1】:

如果您希望 workload 始终具有初始值 0,只需在类中定义它并从 __init__ 中删除参数

class Machine(object):

    workload = 0

    def __init__(self, workspeed):
        self.workspeed = workspeed

如果你想用这两个参数保留__init__,你可以使用默认值(注意参数的顺序是相反的)

class Machine(object):

    def __init__(self, workspeed, workload=0):
        self.workload = workload
        self.workspeed = workspeed

两种选择

all_machines = [Machine(0.5), Machine(1.0), Machine(1.5)]

for machine in all_machines:
    print(f'{machine.workload} {machine.workspeed}')

# output:
# 0, 0.5
# 0, 1.0
# 0, 1.5

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-05
    • 2011-10-08
    • 2011-03-15
    • 2022-11-14
    • 1970-01-01
    • 2019-05-07
    • 2020-01-27
    相关资源
    最近更新 更多