A missing iterator on itertools module?
Hello
Suppose I have these 3 strings:
s1 = "AZERTY"
s2 = "QSDFGH"
s3 = "WXCVBN"
and I need an itertor who delivers
A Q W Z S C E D C ...
I didn't found anything in itertools to do the job.
So I came up with this solution:
list(chain.from_iterable(zip("AZERTY", "QSDFGH", "WXCVBN")))
['A', 'Q', 'W', 'Z', 'S', 'X', 'E', 'D', 'C', 'R', 'F', 'V', 'T', 'G',
'B', 'Y', 'H', 'N']
Do you havbe a neat solution ?
--
https://mail.python.org/mailman/listinfo/python-list
Re: A missing iterator on itertools module?
Le 28/03/2024 à 17:45, ast a écrit : A Q W Z S C E D C ... sorry A Q W Z S X E D C -- https://mail.python.org/mailman/listinfo/python-list
Re: A missing iterator on itertools module?
Le 28/03/2024 à 18:07, Stefan Ram a écrit :
ast wrote or quoted:
s1 = "AZERTY"
s2 = "QSDFGH"
s3 = "WXCVBN"
and I need an itertor who delivers
A Q W Z S C E D C ...
I didn't found anything in itertools to do the job.
So I came up with this solution:
list(chain.from_iterable(zip("AZERTY", "QSDFGH", "WXCVBN")))
Maybe you meant "zip(s1,s2,s3)" as the definition of s1, s2,
and s3 otherwise would not be required. Also the "list" is not
necessary because "chain.from_iterable" already is an iterable.
You could also use "*" instead of "list" to print it. So,
import itertools as _itertools
s =[ "AZERTY", "QSDFGH", "WXCVBN" ]
print( *_itertools.chain.from_iterable( zip( *s )))
. But these are only minor nitpicks; you have found a nice solution!
Why did you renamed itertools as _itertools ?
--
https://mail.python.org/mailman/listinfo/python-list
