J'ai ce tableau:
lst2= [('A', 'D'),
('B', 'D'),
('C', 'D')]
Comment pourrais-je ajouter une chaîne «D» à chaque élément et convertir chaque ensemble en tant que tuple:
lst = ['A', 'B', 'C']
6 Réponses :
list2 = [(i, 'D') for i in list] (apart from the fact that list is a very bad variable name)
Comme ça, en utilisant une compréhension de liste :
lst = ['A', 'B', 'C']
lst2 = [(x, 'D') for x in lst]
lst2
=> [('A', 'D'), ('B', 'D'), ('C', 'D')]
Au fait, c'est une mauvaise idée d'appeler une variable list , qui se heurte à une fonction intégrée. Je l'ai renommé.
Une autre option utilisant zip:
x = ['A', 'B', 'C'] res = list(zip(x,'D'*len(x)))
Une autre solution consiste à utiliser zip_longest
[('A', 'D'), ('B', 'D'), ('C', 'D')]
le résultat sera:
from itertools import zip_longest list(zip_longest(['A', 'B', 'C'], [], fillvalue='D'))
list1 = ['A', 'B', 'C']
list2 = []
for i in list1:
list2.append((i, 'D'))
print(list2)
Vous pouvez utiliser la fonction product():
from itertools import product
lst = ['A', 'B', 'C']
list(product(lst, 'D'))
# [('A', 'D'), ('B', 'D'), ('C', 'D')]
list2 = [(e, 'D') pour e dans la liste]Le dernier est-il censé être
('C', 'D')? Et qu'avez-vous essayé? Pour quoi avez-vous spécifiquement besoin d'aide?('A', 'D')n'est pas du tout une sous-liste. C'est un tuple.Merci, je vais faire les corrections.
Une autre façon:
[tuple (x + 'D') for x in lst](en supposant que tous les éléments de votre liste sont des chaînes)