|  | 
 
 
 楼主|
发表于 2021-8-8 11:24:00
|
显示全部楼层 
| 本帖最后由 Python初学者8号 于 2021-8-8 11:39 编辑 
 好了 两个问题我的解答是
 
 方法一:
 用append:
 想法很简单。既然append是只能在末尾添加,那么办法,只能拆开member再来append grade咯
 
 用insert:复制代码member = ['小甲鱼', '黑夜', '迷途', '怡静', '秋舞斜阳']
grade = [88, 90, 85, 90, 88]
total=[]
for n in range(0,5):
    total.append(member[n])
    total.append(grade[n])
print(total)
这个稍微麻烦点想起来,不是很直观。首先写出最终形态,['小甲鱼', 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)): 
 
 
 | 
 |