本文整理汇总了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
示例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
示例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)