当前位置: 首页>>代码示例>>Python>>正文


Python Queue.remove方法代码示例

本文整理汇总了Python中queue.Queue.remove方法的典型用法代码示例。如果您正苦于以下问题:Python Queue.remove方法的具体用法?Python Queue.remove怎么用?Python Queue.remove使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在queue.Queue的用法示例。


在下文中一共展示了Queue.remove方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: answer3

# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import remove [as 别名]
def answer3(a): #使用快慢指针来均分链表, 然后把后面一半倒序, 拆分为2个队列,上看去更简洁
    slow = fast = a.first
    pre = None
    while fast:
        pre = slow
        slow = slow.next
        if fast.next:
            fast = fast.next.next
        else:
            fast = fast.next
        if fast == a.last:
            break;
    pre.next = None
    a.last = pre
    
    b = Queue()
    while slow:
        b.add(slow)
        slow = slow.next
    import reverse_list
    b2 = reverse_list.answer(b)
    
    r = Queue()
    while a.element() and b.element() :
        r.add(Node(a.remove().value))
        r.add(Node(b.remove().value))
    if b.element():
        r.add(Node(b.remove().value))
      
    return r
开发者ID:michael-7845,项目名称:python-puzzle,代码行数:32,代码来源:reorder_list.py

示例2: Connection

# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import remove [as 别名]
class Connection(object):
    """Abstracción de conexión. Maneja colas de entrada y salida de datos,
    y una funcion de estado (task). Maneja tambien el avance de la maquina de
    estados.
    """
    def __init__(self, fd, address=''):
        """Crea una conexión asociada al descriptor fd"""
        self.socket = fd
        self.task = None  # El estado de la maquina de estados
        self.input = Queue()
        self.output = Queue()
        # Esto se setea a true para pedir al proxy que desconecte
        self.remove = False
        self.address = address

    def fileno(self):
        """
        Número de descriptor del socket asociado.
        Este metodo tiene que existir y llamarse así
        para poder pasar instancias
        de esta clase a select.poll()
        """
        return self.socket.fileno()

    def direction(self):
        """
        Modo de la conexión, devuelve uno de las constantes DIR_*;
        también puede devolver None si el estado es el final
         y no hay datos para enviar.
        """
        # La cola de salida puede estar vacia por dos motivos:
        #   -1) Se enviaron todos los datos -> Remove es True
        #   -2) La cola de salida no esta lista AUN -> Sigue recibiendo
        if self.output.data == "":
            if self.remove:  # (1)
                return None  # El estado es el final
            else:  # (2)
                return DIR_READ  # Sigue recibiendo
        else:  # La cola de salida esta lista para enviarse
            return DIR_WRITE

    def recv(self):
        """
        Lee datos del socket y los pone en la cola de entrada.
        También maneja lo que pasa cuando el remoto se desconecta.
        Aqui va la unica llamada a recv() sobre sockets.
        """
        try:
            data = self.socket.recv(RECV_SIZE)  # Receive
            if data == "":  # El remoto se ha desconectado
                self.remove = True  # Hay que removerlo
            self.input.put(data)  # Encola los datos recibidos
        except socket_error:
            self.send_error(INTERNAL_ERROR, "Internal Error")
            self.remove = True

    def send(self):
        """Manda lo que se pueda de la cola de salida"""
        # Envia sended_size bytes
        sended_size = self.socket.send(self.output.data)
        # Elimina los datos enviados de la cola
        self.output.remove(sended_size)

    def close(self):
        """Cierra el socket. OJO que tambien hay que avisarle al proxy que nos
        borre.
        """
        self.socket.close()
        self.remove = True
        self.output.clear()

    def send_error(self, code, message):
        """Funcion auxiliar para mandar un mensaje de error"""
        logging.warning("Generating error response %s [%s]",
                        code, self.address)
        self.output.put("HTTP/1.1 %d %s\r\n" % (code, message))
        self.output.put("Content-Type: text/html\r\n")
        self.output.put("\r\n")
        self.output.put(
            "<body><h1>%d ERROR: %s</h1></body>\r\n" % (code, message))
        self.remove = True
开发者ID:laufernandez,项目名称:Redes,代码行数:83,代码来源:connection.py

示例3: stops_to_string

# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import remove [as 别名]
        # print '%6i       %7s        %8i    %8s    ' %(elevator.clock, 'A', elevator.floor, elevator.direction) , stops_to_string(stops) , '    ' , order.all()
        while len(stops) != 0:
            elevator.move()
            clean_coordinates()
            if elevator.floor in stops:
                clean_coordinates()
                stops.remove(elevator.floor)
                # print 'B', stops, elevator.direction, elevator.floor, order.all()
                # print '%6i       %7s        %8i    %8s    ' %(elevator.clock, 'B', elevator.floor, elevator.direction) , stops_to_string(stops) , '    ' , order.all()
                for passenger in session.query(Passenger).filter_by(destination_floor_id = elevator.floor):
                    passenger.finished = True
                    passenger.stop = passenger.start + passenger.waiting_time - 2
                for passenger in session.query(Passenger).filter_by(origin_floor_id = elevator.floor, direction = elevator.direction):
                    passenger.in_elevator = True
                    if order.has('%i%s' %(passenger.origin_floor_id,passenger.direction[0])):
                        order.remove('%i%s' %(passenger.origin_floor_id,passenger.direction[0]))
                stops = get_stops(stops)
                # print 'C', stops, elevator.direction, elevator.floor, order.all()
                # print '%6i       %7s        %8i    %8s    ' %(elevator.clock, 'C', elevator.floor, elevator.direction) , stops_to_string(stops) , '    ' , order.all()





for passenger in session.query(Passenger).filter_by(finished=True):
    print passenger.origin_floor, passenger.destination_floor, passenger.waiting_time, (passenger.start, passenger.stop)




开发者ID:sushantkarki,项目名称:elevator-sim,代码行数:28,代码来源:elevator.py


注:本文中的queue.Queue.remove方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。