Can you improve?
rc = []
for i, j in zip(A_response, B_response):
rc.append(i)
rc.append(j)
I use zip
and append
, but could this be better using list comprehension?
Code Review Stack Exchange is a question and answer site for peer programmer code reviews. It only takes a minute to sign up.
Sign up to join this communityCan you improve?
rc = []
for i, j in zip(A_response, B_response):
rc.append(i)
rc.append(j)
I use zip
and append
, but could this be better using list comprehension?
A good solution is in this Stack Overflow answer:
rc = [response for ab in zip(A_response, B_response) for response in ab]
Note that zip
will not use excess elements when one list is longer than the other.
For example, if one of the lists is empty and the other is not,
your program will result in an empty list.
I'm not sure if this was your intention.
If it wasn't, then you might want to extend the result list with the excess elements of the longer list.
As @MrGrj pointed out in a comment:
You could use
izip_longest
for Python < 3 orzip_longest
for Python >= 3. Both come fromitertools
module.
izip_longest()
for python < 3 or zip_longest()
for python >= 3. Both come from itertools
module.
\$\endgroup\$
Jun 2, 2017 at 7:36