Linked List / Lista Enlazada (P2) - Python 3.7

Поделиться
HTML-код
  • Опубликовано: 13 сен 2024
  • ◁ Copyright Sklyvan ▷
    » VÍDEO CREADO POR SKLYVAN ©
    » SU COPIA SIN PERMISO DEL CREADOR NO ESTÁ PERMITIDA.
    ▬ Redes Sociales ▬
    ➤ Instagram: / sklyvan
    ➤ Twitter: / sklyvan
    ➤ PasteBin: pastebin.com/u...
    ➤ Discord: Sklyvan #3902
    ◁ Características PC ▷
    ➜ Intel Socket 1151
    ➜ Intel Core i5-7600K 3,8GHz
    ➜ MSI Gaming M3 H270
    ➜ Corsair Vengeance LPX DDR4 2x4GB + 1x8GB 2600MHz
    ➜ Cooler Master Hyper 212 LED
    ➜ MSI GTX 1050 Ti 4GB
    ➜ EVGA Silver 500W
    ➜ Seagate 1TB HDD
    ➜ Kingston A400 120GB SSD
    ➜ Nox Hummer MC White
    ➜ Windows 10 Pro 64Bits

Комментарии • 16

  • @JE09LM
    @JE09LM 3 года назад +23

    Creo que no importa la duración del video, sino el contenido. El tutorial de 30 minutos de listas enlazadas lo he visto todo. A los que realmente estamos interesados en el tema jamás nos parecerá aburrido.

  • @kimysanchez2931
    @kimysanchez2931 4 года назад +7

    sube más de estos videos, son geniales :’(

  • @camiloalvarez2324
    @camiloalvarez2324 2 года назад +1

    Mal que pienses así , no importa el tiempo que dure el vídeo lo que importa es que enseñes todo y bien enseñado como lo hiciste con el anterior vídeo 👍

  • @angelhernandezbiz
    @angelhernandezbiz 4 года назад +2

    Sigue con Python!

  • @materialesdigitales6753
    @materialesdigitales6753 2 года назад

    Muy buen video, y el otro tambien, tu explicaste un poco mejor este concepto que en el curso de estructuras de datos lineales de python de la academia platzi, no se supo desarrollar tan bien, ya que se cometio un error y es que la clase no duro mas de 14 min. Claro se desarrollaron otras clases, y algunas cosas son de manera distinta, dejo el codigo que pude complementar con tu video y con el de platzi
    '''linked_list.py'''
    class SinglyLinkedList:
    def __init__(self):
    self.tail = None
    self.size = 0

    def append(self, data):
    node = Node(data)

    if self.size == 0:
    self.tail = node
    else:
    current = self.tail

    while current.next != None:
    current = current.next

    current.next = node

    self.size += 1

    return print(f'Se ha añadido el nodo "{node}"')

    def size(self):
    return str(self.size)

    def iter(self):
    current = self.tail

    while current:
    val = current.data
    current = current.next
    yield val

    def delete(self, data):
    if self.size ==0:
    return False
    else:
    current = self.tail
    previous = self.tail
    while current:
    if current.data == data:
    if current == self.tail:
    self.tail = current.next
    else:
    previous.next = current.next
    self.size -= 1
    return current.data
    previous = current
    current = current.next

    def search(self, data):
    for node in self.iter():
    if data == node:
    print(f'Data {data} found!')

    def clear(self):
    self.tail = None
    self.head = None
    self.size = 0

    def __str__(self):
    string = '['
    current = self.tail
    for i in range(self.size):
    string += str(current)
    if i != self.size - 1:
    string += str(', ')
    current = current.next
    string += ']'

    return string
    if __name__ == '__main__':
    words = SinglyLinkedList()
    words.delete('1')
    words.append('egg')
    words.append('ham')
    words.append('spam')
    words.delete('ham')
    print(words.__str__())
    print(words)

    current = words.tail

    while current:
    print(current.data)
    current = current.next

    a = [word for word in words.iter()]
    print(a)

    words.search('spam')
    words.clear()

    while current:
    print(current.data)
    current = current.next

  • @adolfolozanomendoza906
    @adolfolozanomendoza906 2 года назад

    Buenas, muy buena explicación en ambos vídeos. Me he dado cuenta de que si quieres eliminar un valor que se encuentra en el primer nodo, tal y como lo has escrito no funcionaría pues siempre hace la comprobación en los next. Además habría que cambiar el nodo principal a el siguiente en caso de que esto ocurriera. Pongo por aquí el código con este matiz añadido. Un saludo.
    def Eliminar(self, Valor):
    MiNodo = Nodo(Valor)
    if self.Tamaño == 0:
    return print('Elemento no encontrado. La lista está vacía')
    else:
    Actual = self.Inicio
    if Actual.Valor == Valor:
    self.Inicio = Actual.Next
    return print('Valor eliminado y en la primera posición')
    try:
    while Actual.Next.Valor != Valor:
    Actual = Actual.Next
    Eliminado = Actual.Next
    Actual.Next = Eliminado.Next
    except:
    return print('Valor no encontrado')
    self.Tamaño -= 1

  • @gbrl10
    @gbrl10 3 года назад +1

    Gracias

  • @kirillruso3563
    @kirillruso3563 4 года назад +2

    He conseguido arreglar el tema de la coma sin cambiar el metodo
    class Node:
    def __init__(self, value):
    self.value = value
    self.next = None
    def __str__(self):
    return str(self.value)
    class Linkedlist:
    def __init__(self):
    self.first = None
    self.size = 0
    def Append(self, value):
    MyNode = Node(value)
    if self.size == 0:
    self.first = MyNode
    else:
    Current = self.first
    while Current.next != None:
    Current = Current.next
    Current.next = MyNode
    self.size += 1
    return MyNode
    def Remove(self, value):
    if self.size == 0:
    return False
    else:
    Current = self.first
    try:
    while Current.next.value != value:
    if Current.next == None:
    return False
    else:
    Current = Current.next
    DeletedNode = Current.next
    Current.next = DeletedNode.next
    except AttributeError:
    return False
    self.size -= 1
    return DeletedNode
    def __len__(self):
    return self.size
    def __str__(self):
    string = "["
    Current = self.first
    while Current != None:
    string += str(Current)
    # Este simple condicional para arreglar el tema de la coma
    if Current.next != None:
    string += str(", ")
    Current = Current.next
    string += "]"
    return string
    MyList = Linkedlist()
    MyList.Append(1)
    MyList.Append(2)
    MyList.Append(3)
    MyList.Append(4)
    MyList.Remove(4)
    print(MyList)

  • @fernandoquicenogomez4749
    @fernandoquicenogomez4749 4 года назад +3

    mas python e inteligencia artificial

    • @Sklyvan
      @Sklyvan  4 года назад +2

      Pronto subiré dos videos de Web Scraping, y luego empezaré con Machine Learning en Python ;)

    • @fernandoquicenogomez4749
      @fernandoquicenogomez4749 4 года назад

      @@Sklyvan excelente

  • @GD_Terra
    @GD_Terra 5 лет назад +1

    Hola! Me suena tu voz..

    • @porwaltz5571
      @porwaltz5571 4 года назад

      Se parece a la de Jordi Pereyra de Ciencia de sofá.

    • @GD_Terra
      @GD_Terra 4 года назад

      @@porwaltz5571 no. Lo digo porque el jugaba gd antes y Paso tanto tiempo que cambio su canal mucho

  • @jairmarquezrubio9353
    @jairmarquezrubio9353 2 года назад

    la cagaste estaba bien la explicación como el video anterior