2016-05-20 2 views
-1

zugreifen Ich habe eine Liste wie die unten.Wie auf das bestimmte Element in Tupel innerhalb verschachtelten Liste in Python

List = [[('1', 'AR123 <br/> ')], [('8', 'AR987 <br/> SR149728 <br/> Fix for BOM')], []] 

benötigt Ausgabe:

AR123 
AR987 
SR149728 
Fix for BOM 

Können Sie mir helfen, auf diesem? Vielen Dank im Voraus.

+0

Sie nach Code zu stellen, die in diesem speziellen Fall arbeitet, oder das funktioniert in einiger allgemeineren Situation (wie das Ausdrucken aller enthaltenen Zeichenfolgen, die mindestens ein alphabetisches Zeichen enthalten oder deren Länge größer als eins ist, oder ...)? –

+0

Im Allgemeinen möchte ich, dass der zweite Artikel gedruckt werden soll – user2400564

Antwort

1
print list[0][1], list[1][1] 

Wenn ich das richtig lese, wollen Sie das zweite Element jeder Unterliste. Eine generalisierte Version wäre

for item in list: 
    print item[1], 

print 
+0

'list [0] [1]' hebt 'IndexError auf: Listenindex außerhalb des Bereichs' in OP, verschachtelt 3 mal '[[(,)],] '. – SparkAndShine

+0

Whoops! Du hast Recht. Ich habe den zusätzlichen Bracket-Satz verpasst. Wenn man den Kommentar des OP notiert, ist das eigentlich ein Tippfehler: Ich wollte das zweite Element jedes Elements. In diesem Fall ist meine Antwort korrekt für das * beabsichtigte * Problem. :-) – Prune

0

die Sie interessieren,

List = [[('1', 'AR123 <br/> ')], [('8', 'AR987 <br/> SR149728 <br/> Fix for BOM')], []] 


str_list = [t[1].split('<br/>') for sublist in List for t in sublist] 
# [['AR123 ', ' '], ['AR987 ', ' SR149728 ', ' Fix for BOM']] 

result = [s.strip() for sublist in str_list for s in sublist if s.strip()] 
# ['AR123', 'AR987', 'SR149728', 'Fix for BOM'] 

print('\n'.join(result)) 
# Output 
AR123 
AR987 
SR149728 
Fix for BOM 

vorherige Antwort,

lists = [[('1', 'AR123 ')], [('8', 'AR987 SR149728 Fix for BOM')], []] 

result = [t[1] for sublist in lists for t in sublist] 

print(result) 
# Output 
['AR123 ', 'AR987 SR149728 Fix for BOM'] 
0

Die Tupel werden in Einzelpostenliste verschachtelt

List = [[('1', 'AR123 ')], [('8', 'AR987 SR149728 Fix for BOM')], []] 

print(List[1][0][1]) 

Ohne zusätzliches list-item

List = [('1', 'AR123 '), ('8', 'AR987 SR149728 Fix for BOM'), None] 

print(List[1][1]) 

Beide Rückkehr:

AR987 SR149728 Fix für BOM

Verwandte Themen