用两个先前列表的值创建新列表
给定两个长度相同的列表 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
我知道,这代码有点乱 =_=,谁来帮帮我?
5 个回答
还有另一种方法,
from itertools import izip
l1 = [1, 2, 3, 4]
l2 = [5, 6, 7, 8]
l = []
for _ in izip(reversed(l1), reversed(l2)): l.extend(_)
在编程中,有时候我们需要让程序在特定的条件下执行某些操作。比如说,当用户点击一个按钮时,程序就要做出反应。这种情况我们可以用“事件”来描述。事件就像是一个信号,告诉程序发生了什么事情。
当我们编写代码时,通常会设置一些“事件监听器”。这就像是在耳边放一个小助手,随时准备听取指令。一旦事件发生,比如用户点击了按钮,这个助手就会立刻通知程序去执行相应的操作。
简单来说,事件和事件监听器的组合就让我们的程序变得更加互动和灵活。用户的每一次操作都能被程序捕捉到,从而做出相应的反馈。
list(sum(zip(list1,list2)[::-1],()))
在编程中,有时候我们会遇到一些问题,比如代码运行不正常或者出现错误。这些问题可能是因为我们写的代码有bug,或者是因为我们没有正确理解某些概念。
当我们在网上寻找解决方案时,像StackOverflow这样的社区非常有帮助。这里有很多经验丰富的程序员,他们会分享自己的经验和解决方法,帮助我们理解问题所在。
在提问时,清楚地描述你的问题是很重要的。你需要告诉别人你遇到了什么情况,代码是怎样的,以及你希望得到什么样的帮助。这样,其他人才能更好地理解你的问题,并给出有效的建议。
记得在提问之前,先搜索一下是否有人遇到过类似的问题,这样可以节省时间,也能让你学到更多的知识。
总之,编程是一条不断学习的道路,遇到问题是很正常的。通过社区的帮助和自己的努力,我们可以不断进步。
l1 = [1,2,3]
l2 = [4,5,6]
newl = []
for item1, item2 in zip(reversed(l1), reversed(l2)):
newl.append(item1)
newl.append(item2)
print newl