关于pythonzip遇到的一些问题

img


for x,y in zip(l[:-1],l[1:]) 具体怎么理解

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

看起来很简单的一句代码,其实包含3个知识点:
1.zip是把2个list变成一个2维迭代器结构,可以强制转换回list,也可以直接迭代,注意两个list可以不等长,不等长时长list的部分数据会被丢弃
你可以自己写点代码测试,加深理解,类似这样
list1=[1,2,3]
list2=[4,5]
print(list(zip(list1,list2)))
2.切片操作
假如a是一个list,那么a[1:]表示从1开始到最后的所有元素,它返回一个新list;a[:-1]表示从开始到最后一个,负数表示从后往前数。注意不管从前往后还是从后往前,都不能超出list长度,否则会报错
3.元组的拆箱装箱
a,b=c,d,先将c,d装箱成(c,d),再拆箱给a,b

主要是理解zip
zip(a, b)
是将序列a与b相对应的元素压缩成一个元组元素
比如zip([1, 2], [3, 4])就得到 [(1, 3), (2, 4)]