python--deque的应用

部署运行你感兴趣的模型镜像

设计排序系统,使得用户可以看到自己在队伍中的变化

 

代码

# -*- coding:utf-8 -*-
from collections import deque


class User:
    def __init__(self, id, name):
        self.id = id
        self.name = name
        self.seq = 0

    def get_id(self):
        return self.id

    def set_id(self, value):
        self.id = value

    def get_name(self):
        return self.name

    def set_name(self, value):
        self.name = value

    def get_seq(self):
        return self.seq

    def set_seq(self, value):
        self.seq = value

    def equals(self, obj):
        return self.id == obj.get_id()

    def toString(self):
        return "id: " + str(self.id) + ", name: " + self.name + ", seq:" + str(self.seq)


class MyQueue:
    def __init__(self):
        self.q = deque()

    def enQueue(self, u):
        u.set_seq(len(self.q) + 1)
        self.q.append(u)

    def deQueue(self):
        self.q.popleft()
        self.update_seq()

    def update_seq(self):
        i = 1
        for u in self.q:
            u.set_seq(i)
            i = i + 1

    def print_list(self):
        for u in self.q:
            print(u.toString())


if __name__ == "__main__":
    u1 = User(1, "user1")
    u2 = User(2, "user2")
    u3 = User(3, "user3")
    u4 = User(4, "user4")
    queue = MyQueue()
    queue.enQueue(u1)
    queue.enQueue(u2)
    queue.enQueue(u3)
    queue.enQueue(u4)
    queue.print_list()
    print("===========dequeue=========")
    queue.deQueue()
    queue.deQueue()
    queue.print_list()
id: 1, name: user1, seq:1
id: 2, name: user2, seq:2
id: 3, name: user3, seq:3
id: 4, name: user4, seq:4
===========dequeue=========
id: 3, name: user3, seq:1
id: 4, name: user4, seq:2

 

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值