matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Schulmathe
  Status Primarstufe
  Status Mathe Klassen 5-7
  Status Mathe Klassen 8-10
  Status Oberstufenmathe
    Status Schul-Analysis
    Status Lin. Algebra/Vektor
    Status Stochastik
    Status Abivorbereitung
  Status Mathe-Wettbewerbe
    Status Bundeswettb. Mathe
    Status Deutsche MO
    Status Internationale MO
    Status MO andere Länder
    Status Känguru
  Status Sonstiges

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenMathematicaleere Elemente aus Liste entfe
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Geschichte • Erdkunde • Sozialwissenschaften • Politik/Wirtschaft
Forum "Mathematica" - leere Elemente aus Liste entfe
leere Elemente aus Liste entfe < Mathematica < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Mathematica"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

leere Elemente aus Liste entfe: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 10:57 Fr 15.04.2011
Autor: pleaselook

Aufgabe
Wie entferne ich leere Elemente aus einer Liste?


Hallo.
Also ich habe mir aus einer Liste mittels StringPattern Elemente ausgesucht die mich interessieren.
Nun erscheinen aber im Ergebniss leere Elemente/Strings.
Z.B.: Mit:
StringCases[ExampleData["Text"][ [All, 2] ], "UNHuman" ~~ __]
bekomme ich:
{{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},
{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},
{"UNHumanRightsChinese"}, {"UNHumanRightsDanish"},
{"UNHumanRightsDutch"}, {"UNHumanRightsEnglish"},
{"UNHumanRightsEsperanto"}, {"UNHumanRightsFrench"},
{"UNHumanRightsGerman"}, {"UNHumanRightsGreek"},
{"UNHumanRightsHawaiian"}, {"UNHumanRightsIndonesian"},
{"UNHumanRightsIrish"}, {"UNHumanRightsJapanese"},
{"UNHumanRightsKorean"}, {"UNHumanRightsLatin"},
{"UNHumanRightsMaori"}, {"UNHumanRightsRussian"},
{"UNHumanRightsScottishGaelic"}, {"UNHumanRightsSpanish"},
{"UNHumanRightsSwahili"}, {"UNHumanRightsSwedish"}, {}}

Wie kann ich einen Liste bekommen in der die {} nicht mehr stehen?
Geht das auch indem ich mein StringPattern erweitere?

Grüße pleaselook.

        
Bezug
leere Elemente aus Liste entfe: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 11:39 Fr 15.04.2011
Autor: pleaselook

Ok. mit Flatten[] hab ichs hinbekommen. Gehts trotzdem auch mit StringPattern?

Bezug
        
Bezug
leere Elemente aus Liste entfe: Antwort
Status: (Antwort) fertig Status 
Datum: 12:29 Fr 15.04.2011
Autor: Peter_Pein

Hallo!

Pattern: ja, String: nein.

Die Listenstruktur, die zurückgegeben wird hat ja nichts mit dem Stringinhalt zu tun, sondern spiegelt (rudimentär) die Struktur der Liste, in der gesucht wurde, wider.

Nennen wir mal das Ergebnis von StringCases erg.
Statt des schnellen und einfachen Flatten[erg] kannst Du, falls Du auf der Verwendung von Patternmatching bestehst, auch Replace[erg, {elem___} :> elem, {1, Infinity}] verwenden. Dies ersetzt in geschweifte Klammern eingeschlossene Elemente durch die Elemente selbst (was bei leeren Mengen natürlich zur Löschung von {} führt) und zwar vom ersten (nicht nullten!) Level bis zur maximalen Tiefe der Listenstruktur.

Eine Alternative ist, einen Befehl zu verwenden, der für beliebige Listen gedacht ist und als Testkriterium eine Stringfunktion z verwenden, wie z.B.:
1: Select[ExampleData["Text"][[All, 2]], 
2:  StringPosition[#, "UNHuman", 1] === {{1, 7}} &]


Gruß,
Peter

P.S.: und dann war da noch FixedPoint[Sequence @@@ # &, erg].

Bezug
                
Bezug
leere Elemente aus Liste entfe: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 20:10 Fr 15.04.2011
Autor: pleaselook

Ok. Danke! Für die Hinweise. Wenn du sagst die Flatten-Methode ist gut, dann lass ich das dabei.

Nettes Wochenende!

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Mathematica"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.schulmatheforum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]