【发布时间】:2010-12-21 14:01:39
【问题描述】:
给定长度相同的列表 list1 和 list2,创建一个新列表,其中包含 list1 的最后一个元素,后跟 list2 的最后一个元素,然后是 list1 的倒数第二个元素,然后是第二个list2 的最后一个元素,依此类推(换句话说,新列表应该由 list1 和 list2 的反向元素交替组成)。例如,如果 list1 包含 [1, 2, 3] 并且 list2 包含 [4, 5, 6] ,那么新列表应该包含 [3, 6, 2, 5, 1, 4] 。将新列表与变量 list3 相关联。
我的代码:
def new(list1,list2):
i = 0
j = 0
new_list = []
for j in list1:
new_list[i-1] = list2[j-1]
i+= 1
j += 1
new_list[i-1] = list2 [j-1]
i+= 1
j += 1
return new_list
我知道,很乱=_=,帮忙?
【问题讨论】:
-
这听起来很像家庭作业。如果是,你应该这样标记它。
-
不仅杂乱无章;它甚至不起作用——它会在你第一次尝试执行
new_list[i-1] = list2[j-1]时爆炸。j也是来自 list1 的 VALUE,但您随后将其用作 list2 的 SUBSCRIPT!建议:使用 100、200 等测试数据值——如果您尝试将它们用作列表下标,您将立即得到异常,而不是稍后。