Как перевернуть список, содержащий элементы в виде строк, начиная с заглавной буквы, за которой следуют строчные буквы - PullRequest
0 голосов
/ 05 марта 2020
def combine_lists(list1, list2):
  # Generate a new list containing the elements of list2
  # Followed by the elements of list1 in reverse order
  list3=list2.extend(list1.reverse())
  return list3


Jamies_list = ["Alice", "Cindy", "Bobby", "Jan", "Peter"]                     
Drews_list = ["Mike", "Carol", "Greg", "Marcia"]

print(combine_lists(Jamies_list, Drews_list))

Ответы [ 4 ]

1 голос
/ 05 марта 2020

Посмотрите, ищите ли вы это:

>>> Jamies_list = ["Alice", "Cindy", "Bobby", "Jan", "Peter"]
>>> Drews_list = ["Mike", "Carol", "Greg", "Marcia"]
>>>
>>> Drews_list + Jamies_list[::-1]
['Mike', 'Carol', 'Greg', 'Marcia', 'Peter', 'Jan', 'Bobby', 'Cindy', 'Alice']
0 голосов
/ 05 марта 2020

Как уже объясняли другие, методы reverse () и extend () находятся на месте и возвращают None.

Если вы все еще хотите использовать методы extend () и reverse () , то вы можете сделать это следующим образом:

def combine_lists(list1, list2):
  # Generate a new list containing the elements of list2
  # Followed by the elements of list1 in reverse order
  list3 = list1[:]
  list4 = list2[:]

  list3.reverse()
  list4.extend(list3)
  return list4


Jamies_list = ["Alice", "Cindy", "Bobby", "Jan", "Peter"]                     
Drews_list = ["Mike", "Carol", "Greg", "Marcia"]

print(combine_lists(Jamies_list, Drews_list))

Если вы не возражаете изменив list1 и list2 в функции, вы можете пропустить копирование list1 и list2 в list3 и list4 и сразу выполнить:

list1.reverse()
list2.extend(list1)
return list2
0 голосов
/ 05 марта 2020

Обе .reverse и .extend возвращают None и изменяют список на месте.

Попробуйте это.

def combine_lists(list1, list2):
  # Generate a new list containing the elements of list2
  # Followed by the elements of list1 in reverse order
  return list1+list2[::-1]

И для реверса попробуйте любой из этих reversed(list2) или [::-1] эти методы не изменяют список на месте. Примечание: reversed(list2) дает итератор

0 голосов
/ 05 марта 2020
def combine_lists(list1, list2):
  # Generate a new list containing the elements of list2
  # Followed by the elements of list1 in reverse order
  buf = list2[:] # or list2.copy()
  buf.extend(reversed(list1))
  return buf


Jamies_list = ["Alice", "Cindy", "Bobby", "Jan", "Peter"]                     
Drews_list = ["Mike", "Carol", "Greg", "Marcia"]

print(combine_lists(Jamies_list, Drews_list))

extend метод для списка изменяет текущий список, но ничего не возвращает, поэтому ваше выражение: list3=list2.extend(list1.reverse()) assaign to list3 value None

То же самое, что и reverse. Он изменяет текущий список, но возвращает None. Вы можете заменить его методом reverse(list).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...