Python:每日一题83
- 2017-11-27 14:39:00
- 六月
- 来源:
- http://bbs.fishc.com/thread-94936-1-1.html
- 转贴 574
昨天的题目好像有点偏难,大家答题不踊跃,这回来个简单点的。
有两个一维列表,现在要把两个列表合并成一个列表,要求先排第一个列表的第0个元素,再排第二个列表的第0个元素,然后第一个列表的第1个元素,再排第二个列表的第1个元素,以此类推。
如果两个列表的长度不一,则最后再把长的列表的剩余元素直接排在后面,如:
- ['A0', 'A1', 'A2', 'A3', 'A4', 'A5']
- ['B0', 'B1', 'B2', 'B3', 'B4', 'B5']
排成
- ['A0', 'B0', 'A1', 'B1', 'A2', 'B2', 'A3', 'B3', 'A4', 'B4', 'A5', 'B5']
- ['A0', 'A1', 'A2', 'A3', 'A4', 'A5', 'A6', 'A7']
- ['B0', 'B1', 'B2', 'B3']
排成
- ['A0', 'B0', 'A1', 'B1', 'A2', 'B2', 'A3', 'B3', 'A4', 'A5', 'A6', 'A7']
- ['A0', 'A1', 'A2']
- ['B0', 'B1', 'B2', 'B3', 'B4', 'B5', 'B6']
排成
- ['A0', 'B0', 'A1', 'B1', 'A2', 'B2', 'B3', 'B4', 'B5', 'B6']
写成merge函数,要求参数为2个列表,返回值为一个合并的列表。
- def merge(list1, list2):
- try:#也可以先判断两个列表的长短,再用短的做循环
- for i in range(len(list1)):
- list1.insert(2 * i + 1, list2.pop(0))
- except IndexError:
- pass
- if list2:
- list1 += list2
- return list1
发表评论