Поменять местами соседние элементы списка
Поменять местами соседние элементы списка.Если количество элементов нечетное,то последний элемент остается без изменений.
Пример: Было [a»,»l»,»g»,»o»,»r»,»y»,»t»,»m»] , а стало [«l»,»a»,»o»,»g»,»y»,»r»,»m»,»t»]
Я его и так, и этак, но ничего не получилось, буду признателен за помощь.
Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Переставить соседние элементы списка местами
a = for i in range(1, len(a), 2): a, a = a, a print(‘ ‘.join()) как тут уйти от цикла for.
Поменять местами элементы списка
В текстовом файле находятся не равные между собой числа. Сформировать из них список. Определить.
Поменять местами максимальный и минимальный элементы списка
Поменять местами максимальный и минимальный элементы списка, при этом не использовать команды min и.

Поменять левую и правую часть списка местами
Дан список I и числа k1 и k2 (k1<k2)- позиций в списке, разбивающие список на три части. Поменять.
Поменять местами элементы матрицы
Дана матрица, номера k, n, h. Поменять местами между собой элементы строчек с этими номерами
1040 / 575 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1

Сообщение было отмечено Dublonkart как решение
Решение
Dublonkart,
1 2 3 4 5 6 7 8
l = ["a","l","g","o","r","y","t","m", "n"] j = 0 for i in range(int(len(l)/2)): l[j], l[j+1] = l[j+1], l[j] j += 2 print(l)
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Поменять элементы массива местами
есть такой массивk = np.append(np.arange(1, 16), 0).reshape(4, 4). Нужно создать новый, исходя из.
Поменять местами элементы массивов
Здравствуйте, дорогие форумчане! Столкнулся вроде бы с несложной проблемой, но почти месяц не могу.
Поменять местами наибольший и наименьший элементы списка
В собачьих бегах участвует N собак, у каждой из них есть определённое количество очков за сезон. На.
Поменять местами элементы списка с четными и нечетными индексами
Поменять местами элементы списка с четными и нечетными индексами.

Поменять местами первый отрицательный и последний положительный элементы списка
Добрый вечер. Возникли трудности с данной задачей: Поменять местами первый отрицательный и.
Поменять местами первый и последний элемент списка
Напишите функцию, которая принимает список и делает первый элемент списка последним. Если список пустой или состоит из одного элемента, он должен остаться неизменным.

Решение:
def replace_first(items): if items: element = items[0] items = items[1:] items.append(element) return items #Более чистый вариант def replace_first(items): return items[1:] + items[:1]
Как менять местами элементы списка?
По обмену — формируется исходный кортеж (tuple) из значений элементов, потом из этих элементов в обратном порядка образуется новый кортеж, значения присваиваются новому кортежу.
Отслеживать
ответ дан 26 дек 2018 в 17:56
51.5k 3 3 золотых знака 18 18 серебряных знаков 42 42 бронзовых знака
А как более понятно это объяснить?
26 дек 2018 в 18:17
@Петрович Например есть список l = [1,2,3,4,5,6,7] . Мы хотим поменять местами первый и последний элементы списка. Пусть k — это индекс элемента списка. k = 0 , индекс первого єдемента списка. Последний элемент имеет ииндекс -1 . Выполняем l[-1], l[k] = l[k], l[-1] . Теперь выводим список на печать print(l) . Получаем [7, 2, 3, 4, 5, 6, 1]
26 дек 2018 в 20:13
27 дек 2018 в 5:42
k = int(input(‘Введите количество подсписков в списке ‘)) m = [] for i in range(0, k+1): arr = list(input(‘введите список ‘).split()) arr[-1], arr[i] = arr[i], arr[-1] m.append(arr) print(m)
27 дек 2018 в 5:43
Список пустой или слишком короткий. Потренируйтесь на m = [1,2,3,4,5] , чтобы убедиться, что обмен работает. Ввод списка — это уже другая задача. Код в комментариях нечитабелен.
27 дек 2018 в 5:46
Попробуйте проанализировать следующий пример:
arr = list(map(int, input('Введите некоторое количество целых чисел через пробел: ').split())) # Например: Введите некоторое количество целых чисел через пробел: 1 2 3 4 5 6 7 print(arr) # [1, 2, 3, 4, 5, 6, 7] k = -1 # индекс последнего элемента списка при первой итерации for i in range(len(arr)//2): print("\nбыло - ", i, arr) arr[k], arr[i] = arr[i], arr[k] print("стало ", arr) k -= 1 """ было - 0 [1, 2, 3, 4, 5, 6, 7] стало [7, 2, 3, 4, 5, 6, 1] было - 1 [7, 2, 3, 4, 5, 6, 1] стало [7, 6, 3, 4, 5, 2, 1] было - 2 [7, 6, 3, 4, 5, 2, 1] стало [7, 6, 5, 4, 3, 2, 1] """
Отслеживать
ответ дан 27 дек 2018 в 10:38
73.1k 107 107 золотых знаков 38 38 серебряных знаков 55 55 бронзовых знаков
- python
- python-3.x
- python-3.5
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.11.15.1019
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
20 полезных советов и приемов Python, которые вы должны знать
Python — это популярный, универсальный и широко используемый язык программирования. Он используется для науки о данных и машинного обучения, научных вычислений во многих областях, серверной веб-разработки, мобильных и настольных приложений и так далее.
Python используют многие известные компании: Google, Dropbox, Facebook, Mozilla, IBM, Quora, Amazon, Spotify, NASA, Netflix, Reddit и многие другие.

Его синтаксис разработан с учетом простоты, читабельности и элегантности.
В этой статье представлены 20 полезных советов и приемов Python.
1. Zen of Python
Zen of Python, также известный как PEP 20, представляет собой небольшой текст Тима Питерса, который представляет руководящие принципы для разработки и использования Python. Его можно найти на веб-сайте Python, но вы также можете получить его в своем терминале (консоли) или блокноте Jupyter с помощью одного оператора:
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren’t special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one— and preferably only one —obvious way to do it.
Although that way may not be obvious at first unless you’re Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it’s a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea — let’s do more of those!
2. Цепное присваивание
Если вам нужно несколько переменных для ссылки на один и тот же объект, вы можете использовать цепное присваивание:
>>> x = y = z = 2
>>> x, y, z
(2, 2, 2)
Логично и элегантно, правда?
3. Сравнение по цепочке
Вы можете объединить несколько сравнений в одно выражение Python, объединяя операторы сравнения. Это выражение возвращает True, если все сравнения верны, или False в противном случае:
Вы можете связать более двух сравнений:
4. Многократное назначение
Вы можете назначить несколько переменных в одном выражении, используя распаковку кортежей:
Обратите внимание, что 2, 4, 8 в первом утверждении — это кортеж, эквивалентный (2, 4, 8).
5. Более расширенное множественное назначение
Обычные множественные назначения- это не все, что может сделать Python. Вам не нужно одинаковое количество элементов слева и справа:
В этом случае x принимает первое значение (2), потому что оно приходит первым. z является последним и принимает последнее значение (8). y принимает все другие значения, упакованные в список, потому что у него есть звездочка (* y).
6. Поменять местами переменные
Вы можете применить несколько назначений, чтобы поменять местами любые две переменные в сжатой манере, не вводя третью:
7. Слияние словарей
Один из способов объединить два или более словарей — распаковать их в новый файл:
8. Соединение строк
Если вам нужно объединить несколько строк, в итоге между ними будет один и тот же символ или группа символов, вы можете использовать метод str.join () :
9. Предварительная итерация
Если вы хотите перебрать последовательность и вам нужны как элементы последовательности, так и соответствующие индексы, вы должны использовать enumerate :
>>> for i, item in enumerate([‘u’, ‘v’, ‘w’]):
. print(‘index:’, i, ‘element:’, item)
.
index: 0 element: u
index: 1 element: v
index: 2 element: w
В каждой итерации вы получите кортеж с индексом и соответствующим элементом последовательности.
10. Обратная итерация
Если вы хотите перебрать последовательность в обратном порядке, вы должны использовать reversed :
11. Совокупные элементы
Если вы собираетесь объединять элементы из нескольких последовательностей, вы должны использовать zip :
Вы можете перебрать полученный zip-объект или преобразовать его в список или кортеж.
12. Транспонировка матрицы
Хотя люди обычно применяют NumPy (или аналогичные библиотеки) при работе с матрицами, вы можете получить транспонирование матрицы с помощью zip :
13. Уникальные значения
Вы можете удалить дубликаты из списка, который получает уникальные значения, преобразовав его в набор, если порядок элементов не важен:
14. Сортировка последовательности
По умолчанию последовательности сортируются по первым элементам:
Однако, если вы хотите отсортировать их по вторым (или другим) элементам, вы можете использовать ключ параметра и соответствующую лямбда-функцию в качестве соответствующего аргумента:
>>> sorted([x, y, z], key=lambda item: item[1])
[(4, ‘u’), (1, ‘v’), (2, ‘w’)]
Это похоже, если вы хотите получить обратный заказ:
>>> sorted([x, y, z], key=lambda item: item[1], reverse=True)
[(2, ‘w’), (1, ‘v’), (4, ‘u’)]
15. Сортировка словарей
Вы можете использовать аналогичный подход для сортировки кортежей ключ-значения словарей, полученных с помощью метода .items () :
Они отсортированы по ключам. Если вы хотите, чтобы они были отсортированы в соответствии с их значениями, вы должны указать обратные аргументы, которые соответствуют ключу:
>>> sorted(x.items(), key=lambda item: item[1])
[(‘v’, 1), (‘w’, 2), (‘u’, 4)]
>>> sorted(x.items(), key=lambda item: item[1], reverse=True)
[(‘u’, 4), (‘w’, 2), (‘v’, 1)]
16. Неформатированные f-строки
PEP 498 и Python 3.6 представили так называемые отформатированные строки или f-строки. Вы можете вставлять выражения в такие строки. Можно и просто считать строку как необработанной, так и отформатированной.
17. Получение текущей даты и времени
Python имеет встроенный модуль datetime, который универсален в работе с датами и временем. Один из его методов, .now () , возвращает текущую дату и время:
>>> import datetime
>>> datetime.datetime.now()
datetime.datetime(2019, 5, 20, 1, 12, 31, 230217)
18. Получение индекса максимального (или минимального) элемента
Python не предоставляет процедуры для непосредственного получения индекса максимального или минимального элемента в списке или кортеже. К счастью, есть (по крайней мере) два способа сделать это:
>>> x = [2, 1, 4, 16, 8]
>>> max((item, i) for i, item in enumerate(x))[1]
3
Если есть два или более элементов с максимальным значением, этот подход возвращает индекс последнего:
>>> y = [2, 1, 4, 8, 8]
>>> max((item, i) for i, item in enumerate(y))[1]
4
Чтобы получить индекс первого случая, вам нужно немного изменить предыдущий оператор:
>>> -max((item, -i) for i, item in enumerate(y))[1]
3
Альтернативный способ, вероятно, более элегантный:
>>> x = [2, 1, 4, 16, 8]
>>> max(range(len(x)), key=lambda i: x[i])
3
>>> y = [2, 1, 4, 8, 8]
>>> max(range(len(y)), key=lambda i: x[i])
3
Чтобы найти индекс минимального элемента, используйте функцию min вместо max .
19. Получение декартового произведения
Встроенный модуль itertools предоставляет множество потенциально полезных классов. Одним из них является продукт, используемый для получения декартового произведения:
>>> import itertools
>>> x, y, z = (2, 8), [‘u’, ‘v’, ‘w’],
>>> list(itertools.product(x, y, z))
[(2, ‘u’, False), (2, ‘u’, True), (2, ‘v’, False), (2, ‘v’, True),
(2, ‘w’, False), (2, ‘w’, True), (8, ‘u’, False), (8, ‘u’, True),
(8, ‘v’, False), (8, ‘v’, True), (8, ‘w’, False), (8, ‘w’, True)]
20. Оператор для умножения матриц
PEP 465 и Python 3.5 представили специальный инфиксный оператор для умножения матриц @. Вы можете реализовать это для своего класса с помощью методов matmul , rmatmul и imatmul . Вот как выглядит код для умножения векторов или матриц:
>>> import numpy as np
>>> x, y = np.array([1, 3, 5]), np.array([2, 4, 6])
>>> z = x @ y
>>> z
44
Зарегистрируйтесь на Портале
и получите красивый адрес своей странички вида: senior.ua/sergey.ivanov

senior.ua/ |
Потом все адреса будут Заняты 🙁
