Forum
>>
Principianti
>>
Problema liste
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da Triestin |
2018-04-16 15:06:13 - Problema liste
|
Ciao a tutti. Mi presento innanzi tutto. Sono Marco, un neofita quasi totale (nel senso che lavoro da anni nell'informatica ma non ho mai sviluppato)
Vi chiedo aiuto per un problema sulle liste Sto seguendo un documento di Josh Cogliati e mi sono bloccato su un esercizio La domanda è: come faccio ad eliminare un elemento da una lista (nello specifico una lista di domande) usando l'indice stesso della lista? Se lo faccio per un lista di nomi o numeri singoli è semplice, ma se la lista è composta da stringhe complesse (tre o più parole) mi perdo Grazie |
|
Scritto da Daniele aka Palmux |
2018-04-16 17:52:50 - Re: Problema liste
|
Ciao caro e benvenuto. Eliminare un elemento da un lista è semplice, che sia un singolo carattere o 100.
Facciamo un esempio: >>> lista = ["cane", "topo", "gatto", "squalo"] >>> lista.remove("topo") >>> lista ['cane', 'gatto', 'squalo'] >>> lista.pop(2) 'squalo' >>> lista ['cane', 'gatto']Alla fine i cani ed i gatti vincono sempre. Cya |
|
Scritto da Triestin |
2018-04-16 18:31:38 - Re: Problema liste
|
Grazie per la risposta celere e per il benvenuto, ma il problema forse è un po' più complesso (mi sono spiegato io male). Il codice in questione è (è lungo, chiedo scusa)
Il problema è come eliminare una stinga intera in list_d usando il menù I punti 1 e 2 sono semplici. Mi incastro sul punto 3 (ho tolto parte del codice funzionante) L'idea sarebbe quella di passare l' indice del componente della lista (0 - 1 - 2 ecc...) per eliminare la "domanda" --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- list_d = ["Di che colore è il cielo?","Qual'è il numero perfetto?","Qual'è comando usi per vedere se unna periferica risponde in rete?","Chi mangia il topo?"] list_r = ["Blu","3","Ping","Gatto"] while menu_item != 9: print("---------------------------") print("1. Stampa la lista delle domande") print("2. Aggiungi una domanda") print("3. Cancella una domanda") print("4. Modifica una domanda") print("9. Esci") print("---------------------------") menu_item = int(input("inserisci la selezione: ")) #Rimuovi una domanda elif menu_item == 3: del_name = int(input("Quale domanda vuoi eliminare? ")) if del_name <= len.list_d(): item_number = list_d.index(del_name) del list_ditem number else: print(del_name, "Domanda non trovata") ------------------------------------------------------------------------------------------------- --- Ultima modifica di Triestin in data 2018-04-16 18:39:33 --- |
|
Scritto da Triestin |
2018-04-16 18:42:50 - Re: Problema liste
|
Alla fine c'è un
del list_d(item_number) ma si mangia le parentesi quadre (ho messo le tonde. Nel codice è corretto) |
|
Scritto da Daniele aka Palmux |
2018-04-16 19:18:03 - Re: Problema liste
|
Forse non ho capito, ma cosa non va bene con list.pop(n) come ti ho scritto prima?
Quando scelgono che domanda vuoi cancellare, passi il suo equivalente alla lista, stando attento perché il conteggio parte da 0 e non da 1. Cya P.S. Eventualmente metti un \ davanti alle parentesi quadre e tutto si risolve. |
|
Scritto da Triestin |
2018-04-16 20:12:46 - Re: Problema liste
|
Non va nulla. Devo solo leggere giusto il codice che mi hai scritto
Provo e vediamo se risolvo Grazie |
|
Scritto da EL DIABLO |
2018-04-16 20:26:42 - Re: Problema liste
|
if del_name < len(list_d): list_d.pop(del_name) else: print(del_name, "Domanda non trovata") |
Pagina: 1
Esegui il login per scrivere una risposta.