Python:每日一题83

2017-11-27 14:39:00
六月
来源:
http://bbs.fishc.com/thread-94936-1-1.html
转贴 574
题目:
昨天的题目好像有点偏难,大家答题不踊跃,这回来个简单点的。
有两个一维列表,现在要把两个列表合并成一个列表,要求先排第一个列表的第0个元素,再排第二个列表的第0个元素,然后第一个列表的第1个元素,再排第二个列表的第1个元素,以此类推。
如果两个列表的长度不一,则最后再把长的列表的剩余元素直接排在后面,如:
  1. ['A0', 'A1', 'A2', 'A3', 'A4', 'A5']
  2. ['B0', 'B1', 'B2', 'B3', 'B4', 'B5']
复制代码

排成
  1. ['A0', 'B0', 'A1', 'B1', 'A2', 'B2', 'A3', 'B3', 'A4', 'B4', 'A5', 'B5']
复制代码

  1. ['A0', 'A1', 'A2', 'A3', 'A4', 'A5', 'A6', 'A7']
  2. ['B0', 'B1', 'B2', 'B3']
复制代码

排成
  1. ['A0', 'B0', 'A1', 'B1', 'A2', 'B2', 'A3', 'B3', 'A4', 'A5', 'A6', 'A7']
复制代码

  1. ['A0', 'A1', 'A2']
  2. ['B0', 'B1', 'B2', 'B3', 'B4', 'B5', 'B6']
复制代码

排成
  1. ['A0', 'B0', 'A1', 'B1', 'A2', 'B2', 'B3', 'B4', 'B5', 'B6']
复制代码


写成merge函数,要求参数为2个列表,返回值为一个合并的列表。


  1. def merge(list1, list2):
  2.     try:#也可以先判断两个列表的长短,再用短的做循环
  3.         for i in range(len(list1)):
  4.             list1.insert(2 * i + 1, list2.pop(0))
  5.     except IndexError:
  6.         pass
  7.     if list2:
  8.         list1 += list2
  9.     return list1
复制代码
发表评论
评论通过审核后显示。