【发布时间】:2022-11-28 02:39:34
【问题描述】:
class print_values:
def __init__(self,username,user_email,displayname):
self.name= username
self.email=user_email
self.DisplayName=displayname
def printing_content(self):
print(f"UserName: {self.name}\n"
f"UserEmail: {self.email}\n"
f"UserDisplayName:{self.DisplayName}\n")
user_one={'username':'userone',
'useremail':'userone@gmail.com',
'displayname':'User One'}
user_two={'username':'usertwo',
'useremail':'usertwo@gmail.com',
'displayname':'User Two'}
user_three={'username':'userthree',
'useremail':'userthree@gmail.com',
'displayname':'User Three'}
users_list=['user_one','user_two','user_three']
obj_name=print_values(user_one['username'],user_one['useremail'],user_one['displayname'])
obj_name.printing_content()
它工作正常,因为我得到如下输出
UserName: userone
UserEmail: userone@gmail.com
UserDisplayName:User One
这里只使用 user_one dict,我想对多个 dict 做同样的事情。
我尝试在列表中添加字典名称并尝试遍历它们,如下所示
for item in user_list:
obj_name=print_values(item['username'],item['useremail'],item['displayname'])
obj_name.printing_content()
但是低于错误
obj_name=print_values(item['username'],item['useremail'],item['displayname'])
TypeError: string indices must be integers
任何人都可以让我知道我缺少什么或完成此任务的任何其他想法。
提前致谢!
【问题讨论】:
-
顺便说一句:在循环中打印
item,我想这不是你想的那样。 -
我的 python 版本是 3.9.7,
item是一个str值,我刚刚测试了它的type。
标签: python python-3.x list loops dictionary