Предположим, у вас есть список A = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]. В одной строке кода разрезайте A пополам и назначьте B копией последней половины A, за которой следует первая половина (т.е. B будет равен [6, 7, 8, 9, 10, 1, 2, 3 , 4, 5]).как разбить и отсортировать список в python
ответ
Вы можете нарезать список на основе длины, как:
>>> A = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> B = A[-len(A)//2:] + A[:len(A)//2]
>>> B
[6, 7, 8, 9, 10, 1, 2, 3, 4, 5]
См связанный пост, чтобы узнать больше о Python's slice notation
Только быстрое примечание: '/ 2' возвращает поплавок на Python3 и, таким образом, выдает ошибку при попытке порезать с Это. Вы можете использовать '//', чтобы заставить его работать как с py2, так и с py3 (см. Также мой ответ). – MSeifert
@MSeifert Это правда. спасибо за указание на это –
Три шага для решения этой проблемы:
Расчет в середине. Я предполагаю, что для списков с разным размером вторая половина должна быть длиннее. Тогда вы можете просто использовать разделение полов:
len(A) // 2
.Вы можете отрезать определенный показатель (
[idx:]
), и вы можете отрезать его до индекса ([:idx]
). Это всего лишь два приложения нарезки, но те, которые вам нужны здесь.Вы можете объединить списки, добавив их (
+
).
Собираем все это вместе:
B = A[len(A)//2:] + A[:len(A)//2] # second half + first half
ответ на ваш точный вопрос со списком [1,2,3,4,5,6,7,8,9,10] является : разделить список а из индекса 5 до последнего и добавить элементы с индексом с 0 до 4. Вы можете сделать это с помощью следующего кода:
a=[1,2,3,4,5,6,7,8,9,10]
b=a[5:]+a[0:5]
в целом, в том смысле, с п числом элементов, программа может быть записана как:
a=[1,2,3,4,5,6,7,8,9,10]
l=len(a)
b=a[l/2:]+[0:l/2]
print b
Если вы используете python3, ваш второй пример не работает, потому что '/ 2' возвращает float. Вы можете использовать '//', чтобы заставить его быть целым числом на py2 и py3 (см. Также мой ответ). – MSeifert
- 1. Как отсортировать список в python?
- 2. Как отсортировать список в Python?
- 3. Как вручную отсортировать список чисел в Python?
- 4. Как отсортировать словарь/список python?
- 5. Python - Как отсортировать мой список
- 6. Как отсортировать список строк и список чисел, связанных, в python?
- 7. Python, как отсортировать этот список?
- 8. Как отсортировать этот список? python
- 9. Как отсортировать список внутри dict в Python?
- 10. Как отсортировать список списков в Python?
- 11. Как отсортировать этот список в Python?
- 12. Python Как отсортировать список в списке
- 13. Как отсортировать список номеров разделов в Python?
- 14. как отсортировать список кортежей в python?
- 15. Как разбить список Python в R
- 16. Как разбить список строк в Python
- 17. Как отсортировать список строк?
- 18. Как отсортировать список раз
- 19. Как отсортировать этот список?
- 20. В python, как разбить список строк в список списка строк?
- 21. python Как отсортировать список в одной строке и вернуть его
- 22. Python как отсортировать список с элементами списка
- 23. Как отсортировать список по другому списку? Python
- 24. Python, как отсортировать список на основе суммы
- 25. Как разбить следующий список
- 26. Как разбить строку в список?
- 27. Как отсортировать этот список python по числу?
- 28. Python Разбить список с подсписок
- 29. Как отсортировать список объектов Django python?
- 30. Python: как отсортировать список внутри словаря
Начало здесь: http://stackoverflow.com/help/how-to-ask – ppovoski