Принимая участие:
Обычно вход в CodeChef выглядит так:
1 2 3 4 5 6 7
Чтобы получить их в виде списка чисел, просто
_list = map(int, raw_input().split())
Всегда используйте функцию raw_input()
независимо от типа ввода, а затем преобразуйте ее с помощью функции карты. Функции карты - одни из самых красивых в Python. Стоит знать.
замена:
a, b = b, a
Операции нарезки:
- X [: N] - все элементы ниже индекса N.
- X [N:] - все элементы выше индекса N.
- X [a: b] - все элементы между a, b.
- И помните, списки Python имеют круглую форму
- X [-k] дает k-й элемент от последнего. Очень полезно также использовать при нарезке
- X [-k:] - дает последние k элементов.
- X [: - k] - дает первые n-k элементов, где n - длина списка.
- Есть еще много других: Простые функции в Python: нарезка и скольжение (пошаговое выполнение) и Нарезка, нарезание кубиками и стыковка.
При повторении всегда используйте xrange()
и никогда range()
.
Это частая ошибка, которую делают большинство новичков. range()
дает список, который является своего рода излишним. xrange()
- генератор, производит элементы один за другим и только один раз. Хотя, если вы используете Python3, безопасно использовать range
.
sort()
функция:
Модуль коллекций:
Очень часто нужно удалить дубликаты. В то время как в таких языках, как java, вам нужно использовать HashMap и все такое дерьмо, в Python это просто:
_list = list(set(_list))
.
Разница между extend()
и append()
в списках.
merge a = [1, 2, 3] и b = [4, 5, 6] должны быть a.extend(b)
, что дает
[1, 2, 3, 4, 5, 6]
a.append(b)
дает
[1, 2, 3, [4, 5, 6]]
Конкатенации строк:
strings = ['I', 'am', 'the', 'laziest', 'person', 'in', 'the', 'world' ]
Чтобы связать приведенные выше строки, мы могли бы сделать следующее:
Он дает правильный ответ, но это наихудший способ сделать это и требует огромных временных затрат. Правильный способ - использовать функцию join()
.
Прекратите использовать функции reduce в Python, если вы это делаете. Они плохо поддерживаются и скоро будут прекращены. Судьба reduce () в Python 3000 от самого изобретателя python. Начните широко использовать лямбда. Смотрите этот пост «Python Lambda - почему? - Переполнение стека".
И список можно продолжать и продолжать.
Посмотрите эту книгу Написание идиоматической книги по Python
Я уверен, что вы можете где-нибудь найти pdf-файл.
Наконец, практика !!. HackerRank лучше всего подходит для новичков, и особенно если вы любитель питонов, вам будет действительно удобно.
Приведенный выше фрагмент - это ответ, который я написал на Quora и получил небольшую признательность. Надеюсь, это тоже поможет!