Wpis z mikrobloga

Ogarnia ktoś dlaczego to nie jest True? Problem jest zadziwiający.

from multiprocessing import Manager
sockets_server = Manager().list()
class ThreadedTCPRequestHandler(socketserver.BaseRequestHandler):
....def handle(self):
........to_append = self.request
........sockets_server.append(to_append)
........print(to_append in sockets_server)

False

#programowanie #python #python3
  • 4
  • Odpowiedz
@Vetinari: Tak. Lista jest w porządku. Zawiera ten element. Jedyną metodą sprawdzenia czy element zawiera się w niej jest napisanie takiego helperka. Tylko mnie ciekawi dlaczego muszę to robić w ogóle.

def socket_in_list(my_socket, my_list):
....remote = my_socket.getpeername()
....for element in my_list:
........remote_of_element = element.getpeername()
........if remote_of_element == remote:
............return True
....return False
  • Odpowiedz
konto usunięte via Wykop Mobilny (Android)
  • 0
@Vetinari: tak. Cos tam się dzieje, dla normalnej listy działa. Generalnie szukam sposobu usunięcia elementów z tej listy znając je (iteruję wcześniej i wiem dzięki temu co chce usunąć). Jakoś to wymyślę może.
  • Odpowiedz