【发布时间】:2020-07-24 04:27:33
【问题描述】:
我的第一个问题。
如何使用类(带有属性)制作脚本,然后将这些属性放入字典中,然后将该字典放入列表中。我尝试了很多选项,但无法获得“好”或“高效”或正确的输出。
我想访问某些属性,这就是我得到的(不要介意名称,它用于测试)
exercise_list = []
exercise_dict = {}
class Exercises(object):
def __init__(self, amount, category, info):
self.amount = amount
self.category = category
self.info = info
exercise_dict.__setitem__("amount", self.amount)
exercise_dict.__setitem__("category", self.category)
exercise_dict.__setitem__("info", self.info)
exercise_list.append(exercise_dict)
Exercises(10, "arm", "Arm curls")
Exercises(20, "legs", "Squats")
print(exercise_list)
print(exercise_list[0])
print(exercise_list[1])
输出不是我想要的,列表被覆盖:
[{'amount': 20, 'category': 'legs', 'info': 'Squats'}, {'amount': 20, 'category': 'legs', 'info': 'Squats'}]
{'amount': 20, 'category': 'legs', 'info': 'Squats'}
{'amount': 20, 'category': 'legs', 'info': 'Squats'}
进程以退出代码 0 结束
【问题讨论】:
-
为什么首先要使用 class → dict → list?
Exercises对象列表有什么问题?! -
你为什么要显式调用
__setitem__,而不是写exercise_dict["amount"] = self.amount? -
我在 python 方面没有经验,只是在网上学习和查看如何做某些事情......所以我看到了这个选项,它“有效”
标签: python list class dictionary