|

楼主 |
发表于 2021-8-8 11:24:00
|
显示全部楼层
本帖最后由 Python初学者8号 于 2021-8-8 11:39 编辑
好了 两个问题我的解答是
方法一:
用append:
想法很简单。既然append是只能在末尾添加,那么办法,只能拆开member再来append grade咯
- member = ['小甲鱼', '黑夜', '迷途', '怡静', '秋舞斜阳']
- grade = [88, 90, 85, 90, 88]
- total=[]
- for n in range(0,5):
- total.append(member[n])
- total.append(grade[n])
- print(total)
复制代码 用insert:
这个稍微麻烦点想起来,不是很直观。首先写出最终形态,['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88],然后根据其index来研究。
就可以发现其实在member上面来insert就可以了,就是不断插队的感觉,只要是按照grade的先后顺序来插队,就不用担心index out of range 的问题了
- member = ['小甲鱼', '黑夜', '迷途', '怡静', '秋舞斜阳']
- grade = [88, 90, 85, 90, 88]
- for i,j in zip([1,3,5,7,9],grade):
- member.insert(i,j)
- print(member)
复制代码 方法二
我觉得这个更简单了,直接覆盖多简单啊,直接写,但是我想到这个,不用自己打字- member = ['小甲鱼', '黑夜', '迷途', '怡静', '秋舞斜阳']
- grade = [88, 90, 85, 90, 88]
- new = list(range(0,10))
- for i,j in zip(range(0,10,2),range(0,5)): # 0 2 4 6 8偶数开始是member 0 1 2 3 4
- new[i]=member[j]
- for i,j in zip(range(1,10,2),range(0,5)):
复制代码 就像军训报单数双数自己形成两列一样
|
|