Size: a a a

2019 November 19

KM

Kristina Mironova in SPb Python
Konstantin
если правильно понял вопрос, то в первом варианте нужно только 1 раз пробежаться по списку, а во втором сортировка это уже явно больше чем O(N)
да, первый вариант - 1 раз проход по списку.. смущает просто что столько переменных в памяти будет, на каждом шаге они будут перезаписываться (обновляться)
источник

SV

Sergei V. in SPb Python
Kristina Mironova
почему? у словаря доступ к значению по ключу моментальный, а namedtuple? Это вроде более медленная конструкция.
и там и там O(1)
источник

SV

Sergei V. in SPb Python
словарь это hash-таблица, больше памяти занимает по сравнению с tuple
источник

KM

Kristina Mironova in SPb Python
то есть 120 тысяч раз перезапишутся ну 10 переменных (при этом перед записью значения будут сравниваться))
источник

p

pragus in SPb Python
Kristina Mironova
Привет! Посоветуйте пожалуйста что-нибудь полезное?)
Есть список из 120 тыс словарей, из которых надо надергать разную статистику, например самые большие и минимальные значения и ключи к ним.
Что будет быстрее работать - сразу записывать нужные данные в 10 переменных при переборе каждого элемента списка, или упорядочить весь список по трем ключам (sorted, keys) и потом оттуда дергать? Второй вариант кажется лучше..
Что за список? И почему там так много словарей?
источник

KM

Kristina Mironova in SPb Python
pragus
Что за список? И почему там так много словарей?
потому что он из jsona
источник

p

pragus in SPb Python
Kristina Mironova
потому что он из jsona
А, так у вас там просто структурки
источник

p

pragus in SPb Python
Kristina Mironova
потому что он из jsona
Можно примеров?
источник

KM

Kristina Mironova in SPb Python
pragus
Можно примеров?
примеров словаря??
источник

p

pragus in SPb Python
Kristina Mironova
примеров словаря??
Да.
источник

p

pragus in SPb Python
Kristina Mironova
Привет! Посоветуйте пожалуйста что-нибудь полезное?)
Есть список из 120 тыс словарей, из которых надо надергать разную статистику, например самые большие и минимальные значения и ключи к ним.
Что будет быстрее работать - сразу записывать нужные данные в 10 переменных при переборе каждого элемента списка, или упорядочить весь список по трем ключам (sorted, keys) и потом оттуда дергать? Второй вариант кажется лучше..
А сколько ключей в словаре, какого типа значения и что за значения?
источник

KM

Kristina Mironova in SPb Python
ключей 13, значения  - строки и целые числа
источник

АИ

Александр Илюшкин in SPb Python
Kristina Mironova
Привет! Посоветуйте пожалуйста что-нибудь полезное?)
Есть список из 120 тыс словарей, из которых надо надергать разную статистику, например самые большие и минимальные значения и ключи к ним.
Что будет быстрее работать - сразу записывать нужные данные в 10 переменных при переборе каждого элемента списка, или упорядочить весь список по трем ключам (sorted, keys) и потом оттуда дергать? Второй вариант кажется лучше..
Мне кажется, тебе проще будет сделать так.

http://www.blog.pythonlibrary.org/2016/05/24/python-101-an-intro-to-benchmarking-your-code/
источник

АИ

Александр Илюшкин in SPb Python
Сделай бенчмарк и разберитесь, почему именно такие цифры
источник

АИ

Александр Илюшкин in SPb Python
Можно также писать вопросы на рассылку python.org, там кор тима питона отвечает
источник

KM

Kristina Mironova in SPb Python
Александр Илюшкин
Сделай бенчмарк и разберитесь, почему именно такие цифры
Благодарю)
источник

A

Alexander in SPb Python
коллеги, нужен совет.
У меня есть скрипт на питоне, который при запуске должен проверять, не был ли он уже ранее запущен.
Сейчас это делается вот таким кодом:
check_prev_run_cmd = "ps -ef | egrep 'python.+{}' | egrep -v 'bin/[a-z]*sh|grep' | wc -l".format(file)
check_prev_run = int(getoutput(check_prev_run_cmd))
return True if check_prev_run > 1 else False

решение выглядит немного корявым, хочется улучшить. Есть вариант с чтением и просмотром процессов в /proc, но как по мне, такой подход будет дольше, т.к. банально придётся просамтривать все процессы.
Кто чем пользуется для подобных задач?
источник

DM

Dmitriy Morozov in SPb Python
Есть относительно стандартный вариант с lock-файлом, например. Как частный случай есть pid-файлы
источник

A

Alexander in SPb Python
не
источник

A

Alexander in SPb Python
у меня просто скрипт запускается без локов и пидов
источник