【发布时间】:2017-10-15 11:48:36
【问题描述】:
我有 2 个长度不同的数字列表,例如:
list1 = [1, 2, -3, 4, 7]
list2 = [4, -6, 3, -1]
我需要用函数遍历这些:
final_list = []
for index in range(???):
if list1[index] < 0:
final_list.insert(0, list1[index])
elif list1[index] > 0:
final_list.insert(len(final_list), list1[index])
if list2[index] < 0:
final_list.insert(0, list2[index])
elif list2[index] > 0:
final_list.insert(len(final_list), list2[index])
return final_list
但不知道如何处理范围,因为如果我使用 max 长度,较短的列表将变得“超出范围”。关于如何克服这个问题或如何改变我的功能有什么想法吗?
【问题讨论】:
-
你想完成什么?
-
你能解释一下输出应该是什么吗?
-
for item1, item2 in itertools.zip_longest(list1, list2)? -
从
itertools使用zip_longest -
请解释一下你的逻辑?