Werte in einer Liste ändern – python

Ich habe diesen Code:

a=[['a','b','c'],['a','f','c'],['a','c','d']] for x in a: for y in x: if 'a' in x: x.replace('a','*')` 

Aber das Ergebnis ist:

  • Pyglet in Mac installieren
  • Anhängen an das Ende einer bestimmten Zeile
  • Füge Text zwischen den Zeilen in der Python ein
  • Verwenden der Booleschen Indizierung für Zeile und Spalte MultiIndex in Pandas
  • Wie kann man Tkinter-Nachricht erweitern, wenn ich das Fenster ändern möchte?
  • Manuelle fft nicht geben mir die gleichen Ergebnisse wie fft
  •  a=[['a','b','c'],['a','f','c'],['a','c','d']] 

    Und bot a=[['b','c'],['f','c'],['c','d']]

    Was soll ich damit machen?

    6 Solutions collect form web for “Werte in einer Liste ändern – python”

    Wenn du alle Vorkommen von 'a' aus allen verschachtelten Sublisten entfernen möchtest, kannst du:

     >>> [[i for i in x if i != 'a'] for x in a] [['b', 'c'], ['f', 'c'], ['c', 'd']] 

    Wenn du sie mit asterisk ersetzen möchtest:

     >>> [[i if i != 'a' else '*' for i in x] for x in a] [['*', 'b', 'c'], ['*', 'f', 'c'], ['*', 'c', 'd']] 

    Hier geht es nicht um die Liste. Python-Strings sind unveränderlich:

     > a = 'x' > a.replace('x', 'bye') > a 'x' 

    Sie ersetzen 'a' mit '*' und dann das Ergebnis wegwerfen.

    Versuchen Sie so etwas wie:

     for i,value in enumerate(mylist): mylist[i] = value.replace('x', 'y') 

    Sie wollen das Element in der verschachtelten Liste wirklich ersetzen, so wie:

     a=[['a','b','c'],['a','f','c'],['a','c','d']] for row in a: for ix, char in enumerate(row): if char == 'a': row[ix] = '*' 

    Mit dem Ergebnis:

     a = [['*', 'b', 'c'], ['*', 'f', 'c'], ['*', 'c', 'd']] 
     a=[['a','b','c'],['a','f','c'],['a','c','d']] b=[[subelt.replace('a','*') for subelt in elt] for elt in a] print(b) # [['*', 'b', 'c'], ['*', 'f', 'c'], ['*', 'c', 'd']] 

    Das würde funktionieren:

     a=[['a','b','c'],['a','f','c'],['a','c','d']] for x in a: for y in x: if y == 'a': x.remove(y) 

    Oder noch einfacher:

     y = 'a' a=[['a','b','c'],['a','f','c'],['a','c','d']] for x in a: x.remove(y) 

    Das gibt Ihnen a=[['b','c'],['f','c'],['c','d']] .

    Hinweis: Weitere Informationen finden Sie in der Dokumentation zu remove () für Listen.

    Suche nach der Funktion ersetzen :

     str.replace(old, new[, count]) 

    Gib eine Kopie der Zeichenfolge zurück, wobei alle Vorkommen von Teilstring alt durch neu ersetzt wurden. Wenn die optionale Argumentzählung angegeben ist, werden nur die ersten Zählereignisse ersetzt.

    Python ist die beste Programmiersprache der Welt.