Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.83/58: Рейтинг темы: голосов - 58, средняя оценка - 4.83
6 / 4 / 2
Регистрация: 19.10.2018
Сообщений: 102

Как в программе заменить функция append

24.11.2018, 20:23. Показов 12025. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не могу понять, можно ли еще каким либо образом добавлять в списки какие-то значение без функции 'append' (Препод придирается, говорит мол пока нельзя пользоваться функциями.)

Вот как допустим заменить 'append' в данной программе ?
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 a = []
num = 0
while True:
    if(num == 9):
        break
    score = int(input('Выставить балл от 1 до 10: '))
    num += 1
    if(score in range(11)):
        a.append(score)
sort = sorted(a)
rinych = sort[1:-1]
quantity = len(rinych)
summa = 0
for i in range(quantity):
    summa += rinych[i]
ar = summa / quantity
print(ar)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.11.2018, 20:23
Ответы с готовыми решениями:

Что можно сказать о равенстве значений следующих выражений: (append x (append y z) (append (append x y) z)
помогите, пожалуйста!! 1)Что можно сказать о равенстве значений следующих выражений: (append x (append y z)) (append (append x y) z)

Функция .append и .attr, не все работает, подскажите как
есть функция $("#add").click(function() { $('#sortable').append('<a href="http://'+$('#addlink') ...

Надо заменить функцию rewrite на append
Помогите пожалуйста заменить функцию rewrite на append в процедуре sozd. Или же скажите как можно сделать так чтобы слово в конец файла...

22
 Аватар для Semen-Semenich
5220 / 3468 / 1172
Регистрация: 21.03.2016
Сообщений: 8,291
24.11.2018, 20:35
Лучший ответ Сообщение было отмечено rina_shym как решение

Решение

Python
1
a + [score]
1
0 / 0 / 0
Регистрация: 18.07.2021
Сообщений: 9
18.07.2021, 14:57
0
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
18.07.2021, 15:14
rina_shym, добавить можно и так
Python
1
2
3
4
5
x = [1, 2, 3, 12, 15, 18]
n = len(x)
i = n//2
x.insert(i, 50)
print(x)
0
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
20.07.2021, 10:25
Dax, метод insert() не лучший вариант( если вы используете инсёрт вы явно делаете, что то не так), необходима операция присваивания срезу:
Python
1
a[len(a):]=[score]
Изменяется сам список a также быстро, как при использовании append.

Добавлено через 1 минуту
a[:0]=[score] - для добавления в начало списка.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
20.07.2021, 10:49
Цитата Сообщение от AlexMarkov Посмотреть сообщение
метод insert() не лучший вариант( если вы используете инсёрт вы явно делаете, что то не так)
Обоснуй
0
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
20.07.2021, 10:56
Цитата Сообщение от rina_shym Посмотреть сообщение
Не могу понять, можно ли еще каким либо образом добавлять в списки какие-то значение без функции 'append'
AlexMarkov, ТС просил вариант, я дал ему вариант, но, это не значит, что сам я не пользуюсь иными вариантами, кроме того, который дал, да и, к тому же, я не отстаиваю то, что .append лучше\ хуже, и т.д.
Человек спросил, как это сделать, я постарался ответить.
0
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
20.07.2021, 11:14
Все дело в частом изменении индексов элементов списка. Встроенный тип list не оптимизирован для совершения частых вставок в начало списка. При осуществлении частых вставок элементов в начало списка или любое другое место (кроме конца списка), ваш код будет значительно притормаживать. Лучше применять двустороннюю очередь collections.deque(). Тем более данный тип позволяет расширять начало списка другим списком.
0
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
20.07.2021, 11:19
AlexMarkov, метод хорош запомню
Python
1
a[len(a):]=[score]
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
20.07.2021, 23:32
Цитата Сообщение от AlexMarkov Посмотреть сообщение
Изменяется сам список a также быстро, как при использовании append.
Глупость: O(N + M) - совсем не быстро, в отличие от амортизированного O(1). Proof строка Set Slice.
И двусторонняя очередь вообще не подходит для добавления в ее середину, т. к. индексация в двусвязном списке O(N).
Так что мимо кассы.
1
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
21.07.2021, 08:33
Arsegg, вы про что сейчас? Я кассой давно не пользуюсь, мне "бабло" от вас не надо). Кто говорил вообще про добавление в середину, когда рассказывается про метод append(). Ваш профессиональный сленг на меня не действует, я вышел из того возраста когда
иностранными словами заменялась русская речь. Из контекста содержимого была вырвана фраза и на основании ее было составлено опровержение совсем другой решаемой задаче.

Добавлено через 12 минут
Я не буду спорить, так как это бессмысленно, все зависит от поставленной задачи. Я ещё раз повторюсь, доверяю только общеизвестным, авторитетным и признанным источникам.
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
21.07.2021, 10:41
Цитата Сообщение от AlexMarkov Посмотреть сообщение
Кто говорил вообще про добавление в середину
Цитата Сообщение от AlexMarkov Посмотреть сообщение
При осуществлении частых вставок элементов в начало списка или любое другое место (кроме конца списка),
Действительно. Какая середина? Всего лишь любое другое место, кроме конца и начала списка))
Цитата Сообщение от AlexMarkov Посмотреть сообщение
Я ещё раз повторюсь, доверяю только общеизвестным, авторитетным и признанным источникам.
Т. е. теперь официальный сайт документации Python теперь не общеизвестный, не авторитетный и не признанный источник?
1
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
21.07.2021, 10:45
Arsegg, вы говорите про insert(),а вырезка о методе append()(про пост выше). Сейчас вы приводите аргументы наоборот, без комментариев. С insert() сложная ситуация и зависит от конкретного случая.
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
21.07.2021, 10:49
Цитата Сообщение от AlexMarkov Посмотреть сообщение
на основании ее было составлено опровержение совсем другой решаемой задаче.
Выше я уже показал, что это вообще не опровержение. И какая была задача изначально? Добавление значения в список - ни слова о двусторонних очередях (двусвязных списках).

Добавлено через 1 минуту
Цитата Сообщение от AlexMarkov Посмотреть сообщение
С insert() сложная ситуация и зависит от конкретного случая.
Элементарная ситуация: O(N) - проверяется capacity массива, сдвигается все элементы вправо, пишется элемент в освободившееся место.

Добавлено через 1 минуту
Цитата Сообщение от rina_shym Посмотреть сообщение
Вот как допустим заменить 'append' в данной программе ?
Обычные list-comps'ы без всякой "ереси" в виде collections.deque и list.insert.
0
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
21.07.2021, 10:50
Arsegg, если бы официальный сайт Python был руссифицирован, да он был бы общепризнанным, а так он общепризнан только англоговорящей аудиторией. То что вы говорите, если это действительно присутствует в официалке, опять ваша интерпретация или особенности перевода.
0
21.07.2021, 10:53

Не по теме:

Цитата Сообщение от AlexMarkov Посмотреть сообщение
если бы официальный сайт Python был руссифицирован, да он был бы общепризнанным, а так он общепризнан только англоговорящей аудиторией.
Тут мои полномочия все!

0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
21.07.2021, 11:08

Не по теме:

Arsegg, попал в затруднительную ситуацию - не знаю какой смайлег тут более уместен - лол или рукалицо...


0
21.07.2021, 12:09

Не по теме:

iSmokeJC, полагаю такой:

Кликните здесь для просмотра всего текста

0
21.07.2021, 12:10

Не по теме:

Это было бы смешно, если бы не было так грустно.

0
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
21.07.2021, 12:42

Не по теме:


Arsegg, я не сомневаюсь в ваших способностях, просто всему свое время, если я буду работать с внутренней логикой реализации данных методов, я продолжу дискуссию, а так у меня задачи другого характера в данный момент. Для новичков замена функции append() слайдами с len(), самый лучший вариант убить двух зайцев, и понять, что такое срезы и изучить дополнительные функции, а потом на практике и на курсах, я действительно никогда не видел чтобы использовали insert(), показывать примером в учебном материале такую информацию не дальновидная перспектива развития читателей поста.


Вопрос ТС звучал о замене метода списка append(), почему здесь пример со вставкой дополнительного значения в середину списка ума не приложу. Даже с точки зрения ответа на вопрос не правильно, не мог умолчать о данном факте, прошу прощения таков я.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.07.2021, 12:42
Помогаю со студенческими работами здесь

[HomeLisp] Не найдена функция APPEND
Очень часто сталкивался с этой проблемой и решал переписыванием своих функций (т.е. заменой append на что-то другое). Есть какой-нибудь...

String одна функция вместо erase+append
Всем привет. Поискал, вроде нет такой функции, но вдруг есть. const string::size_type position = wbuffer.find_last_of(L'\\'); ...

Форматирование строк для записи в файл. Функция append() и циклы
Добрый вечер! С питоном начала разбираться совсем недавно и у меня возникла проблема при записи информации в файл. Модуль на питоне...

Как Заменить в программе ноль
Дан массив размера N. Вычислить среднее арифметическое и кол – во отрицательных элементов массива. Заменить в исходном массиве все нули –...

как можно заменить строки в программе?
как можно заменить строки 5 и 6 в : 1 /* copy string2 to string1 */ 2 void strcopy(char string1, char string2) 3 { 4 int i = 0; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru