J'ai ceci:Python: Coupez une liste
Lt = [('ABC',), ('Abc',), ('xyz',), ('ABC',), ('Abc',)]
Je veux ceci:
Lt = ('Abc', 'Abc', 'xyz', 'ABC', 'abc')
supprimer le poste ra "(", ")" et "," .... Comment je fais ça.
J'ai ceci:Python: Coupez une liste
Lt = [('ABC',), ('Abc',), ('xyz',), ('ABC',), ('Abc',)]
Je veux ceci:
Lt = ('Abc', 'Abc', 'xyz', 'ABC', 'abc')
supprimer le poste ra "(", ")" et "," .... Comment je fais ça.
:
r=zip(*Lt)[0]
print Lt
Est-ce une liste de chaînes ou de tuples? En supposant qu'ils sont tuples:
[t[0] for t in [('ABC',), ('Abc',), ('xyz',), ('ABC',), ('Abc',)]]
une autre façon
a = tuple([''.join(x) for x in Lt])
>>> a
('ABC', 'Abc', 'xyz', 'ABC', 'Abc')
Vous pouvez supprimer les crochets dans l'appel de 'tuple'. une expression de générateur suffit car 'tuple' le consommera. – aaronasterling
Voici une autre façon:
In [5]: tuple(map(operator.itemgetter(0), Lt))
Out[5]: ('ABC', 'Abc', 'xyz', 'ABC', 'Abc')
vraiment, c'est mieux mon montage? Ce vieux ..... – Merlin
+1 Nice et élégant – helpermethod
Pour la l'amour de l'apprentissage, cela s'appelle un "liste compre hension "et thy sont très efficaces et faciles à faire en Python! – jathanism
ne fonctionne pas, thk – Merlin