直接作成関数


次の条件を満たすmerge and swap関数を完了します。


入力として
  • 2個のリストが受信される.
  • 2つの
  • inputリストを1つのリストにマージします.
  • の組合せリストの最初の要素と最後の要素を置き換え、リスト全体を返します.
  • inputがすべて空のリストである場合、空のリストが返されます.
  • Try 1.

    def merge_and_swap(list1, list2):
      if len(list1) == 0 and len(list2) == 0:
        return []
      else:
        list1 = list1 + list2
        last = list1.pop()
        my_list = []
        my_list = [last] + list1[1:] + [list1[0]]
        return my_list
    line 8, in merge_and_swap
    my_list = [last] + list1[1:] + [list1[0]]
    IndexError: list index out of range
    -> .......???????
    ->リスト範囲外のインデックスを取得しようとしたエラー...

    Try 2.

    def merge_and_swap(list1, list2):
      if list1 == [] and list2 == []:
        return []
      else:
        list1 = list1 + list2
        list1[0], list1[len(list1)-1] = list1[len(list1)-1], list1[0]
        return list1
    思ったより解きやすい.リスト内の最初の要素と最後の要素の位置のみを変更します.