0

I have a list :

['replace', 't', 'T', 'replace', 'r', 'R', 'replace', 'a', 'e', 'replace', 'a', 'e', 'replace', 'M', 'm', 'delete', ' ', 'a', 'replace', 'p', 'o', 'insert', 'r', 'o', 'insert', 'r', 'o', 'insert', 'r', 'o', 'insert', 'r', 'o', 'insert', 'r', 'o', 'insert', 'e', 'm', 'insert', 'e', 'm', 'insert', 'e', 'm', 'insert', 'e', 'm', 'insert', 'e', 'm', 'insert', 'e', 'm', 'insert', 'e', 'm', 'insert', 'e', 'm', 'insert', 'e', 'm', 'insert', 'e', 'm', 'insert', 'e', 'm', 'insert', 't', 'a', 'insert', 't', 'a', 'insert', 't', 'a', 'insert', 't', 'a', 'insert', 't', 'a', 'insert', 't', 'a', 'insert', 't', 'a', 'insert', 't', 'a', 'replace', 't', 'a', 'replace', 'e', 'e', 'replace', ' ', 'r', 'insert', ' ', 'd', 'replace', ' ', 'd', 'replace', 'i', 'e', 'replace', 'l', 's']

how can i create a list containing tuples of three items from my first list ?

Output :

[('replace', 't', 'T'), ('replace', 'r', 'R'), ('replace', 'a', 'e'), ('replace', 'a', 'e'), ...]

Also, can I use comprehension list, to do this ?

MisterMiyagi
  • 44,374
  • 10
  • 104
  • 119
Lter
  • 43
  • 11

1 Answers1

1

You can use zip():

lst = ['replace', 't', 'T', 'replace', 'r', 'R', 'replace', 'a', 'e', 'replace', 'a', 'e', 'replace', 'M', 'm', 'delete', ' ', 'a', 'replace', 'p', 'o', 'insert', 'r', 'o', 'insert', 'r', 'o', 'insert', 'r', 'o', 'insert', 'r', 'o', 'insert', 'r', 'o', 'insert', 'e', 'm', 'insert', 'e', 'm', 'insert', 'e', 'm', 'insert', 'e', 'm', 'insert', 'e', 'm', 'insert', 'e', 'm', 'insert', 'e', 'm', 'insert', 'e', 'm', 'insert', 'e', 'm', 'insert', 'e', 'm', 'insert', 'e', 'm', 'insert', 't', 'a', 'insert', 't', 'a', 'insert', 't', 'a', 'insert', 't', 'a', 'insert', 't', 'a', 'insert', 't', 'a', 'insert', 't', 'a', 'insert', 't', 'a', 'replace', 't', 'a', 'replace', 'e', 'e', 'replace', ' ', 'r', 'insert', ' ', 'd', 'replace', ' ', 'd', 'replace', 'i', 'e', 'replace', 'l', 's']

print(list(zip(lst[::3], lst[1::3], lst[2::3])))

Prints:

[('replace', 't', 'T'), ('replace', 'r', 'R'), ('replace', 'a', 'e'), ('replace', 'a', 'e'), ('replace', 'M', 'm'), ('delete', ' ', 'a'), ('replace', 'p', 'o'), ('insert', 'r', 'o'), ('insert', 'r', 'o'), ('insert', 'r', 'o'), ('insert', 'r', 'o'), ('insert', 'r', 'o'), ('insert', 'e', 'm'), ('insert', 'e', 'm'), ('insert', 'e', 'm'), ('insert', 'e', 'm'), ('insert', 'e', 'm'), ('insert', 'e', 'm'), ('insert', 'e', 'm'), ('insert', 'e', 'm'), ('insert', 'e', 'm'), ('insert', 'e', 'm'), ('insert', 'e', 'm'), ('insert', 't', 'a'), ('insert', 't', 'a'), ('insert', 't', 'a'), ('insert', 't', 'a'), ('insert', 't', 'a'), ('insert', 't', 'a'), ('insert', 't', 'a'), ('insert', 't', 'a'), ('replace', 't', 'a'), ('replace', 'e', 'e'), ('replace', ' ', 'r'), ('insert', ' ', 'd'), ('replace', ' ', 'd'), ('replace', 'i', 'e'), ('replace', 'l', 's')]
Andrej Kesely
  • 168,389
  • 15
  • 48
  • 91