字典键和deque,不要工作第二个popleft或第一个pop。python

2024-09-30 00:26:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python中的一个乞丐,我有一个字典,它的键名和值都是deque,当我添加deque时,它是有效的,但是当我试图用poplieft退出时,只有第一个有效

from collections import deque

class EmployeePoint:

    dic = {}

    def __init__(self,name,point):

        self.name = name
        self.point = point


people1 = EmployeePoint("Rafael","18")
people2 = EmployeePoint("Rafael","19")
people3 = EmployeePoint("Rafael","20")

EmployeePoint.dic["Rafael"] = deque([people1])
EmployeePoint.dic["Rafael"].append([people2])
EmployeePoint.dic["Rafael"].append([people3])


print EmployeePoint.dic["Rafael"].popleft().point
print EmployeePoint.dic["Rafael"].popleft().point

回溯:

十八 回溯(最近一次呼叫): “文件”主.py“,第23行,英寸 打印雇员点.dic[“Rafael”].popleft().point AttributeError:“list”对象没有属性“point”


Tags: nameself字典pointprintappenddicdeque
1条回答
网友
1楼 · 发布于 2024-09-30 00:26:19

使用deque([people1])初始化deque可以,但不应该在列表中附加一个项目(即[people2],而应该是.append(people2)

from collections import deque

class EmployeePoint:

    dic = {}

    def __init__(self,name,point):

        self.name = name
        self.point = point


people1 = EmployeePoint("Rafael","18")
people2 = EmployeePoint("Rafael","19")
people3 = EmployeePoint("Rafael","20")

EmployeePoint.dic["Rafael"] = deque([people1])
EmployeePoint.dic["Rafael"].append(people2)
EmployeePoint.dic["Rafael"].append(people3)


print (EmployeePoint.dic["Rafael"].popleft().point)
print (EmployeePoint.dic["Rafael"].popleft().point) 
# py3 print paretheses 

输出:

18

19

相关问题 更多 >

    热门问题