powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [python] Массивы, списки, хранение данных для вычисления.
10 сообщений из 10, страница 1 из 1
[python] Массивы, списки, хранение данных для вычисления.
    #38634777
Фотография Rampage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
у меня есть такая задачка.
за 150 дней нагенерилось 150 файлов.
Каждый файл иммеет вид:
Коля 10
Петя 8
Вася 7

Иногда в файле нет Пети, или Васи.

Я написал функцию которая читает файл, и создает dictionary {'День':'1', 'Коля':'10', 'Петя':'8','Вася':'7'}
читает следующий файл .. и тд..
можно ли эти dictionary запихнуть в структуру средствами питона аля:

имя День 1 День 2 День 3 ... среднее для имя День 285 отклонение от среднего в последний деньКоля 1087...81020%Петя83...7.575%Вася71...660%

каким образом это проще сделать?
...
Рейтинг: 0 / 0
[python] Массивы, списки, хранение данных для вычисления.
    #38634825
Фотография Rampage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как вариант конечно можно воспользоваться SQLITE3, и в :memory" создать таблицу с количеством столбцов по количеству файлов...
и просто updatить записи,..
но хотелось бы что нить более красиове.
...
Рейтинг: 0 / 0
[python] Массивы, списки, хранение данных для вычисления.
    #38635759
хлыщ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наверное лучше переделать структуру в такой вид:
Код: python
1.
2.
3.
dict = {'Петя':list(0 for _ in range(1,31)),'Вася':list(0 for _ in range(1,31))}
{'Петя': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 
'Вася': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}


то есть словарь по именам, а данные к имени - массив дней (я для начала взял 31 день)
тогда, обрабатывая файлы, можно заполнять такую структуру так:
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
#Получаем из файла номер дня day, имя человека name, данные по человеку n
def add_data(name, day, n):
	#проверим есть ли имя в справочнике, если нет добавим 
	if name not in dict:
		dict[name] = list(0 for _ in range(31))	
	#проверим, хватает ли дней для этого имени, если нет - добавим
	if len(dict[name]) < day:
		dict[name].extend(list(0 for _ in range(day - len(dict[name]))))
	dict[name][d-1] += n		


потом легко получить данные по Васе за n-й день:
Код: python
1.
2.
3.
4.
5.
def get_data (name, day):
	if len(dict[name]) >= day:
		return dict[name][day - 1]
	else:
		return 0
...
Рейтинг: 0 / 0
[python] Массивы, списки, хранение данных для вычисления.
    #38638017
Фотография FishHook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мдя, хлыщ с такими советами ...
Ужос!!!!
Код: python
1.
dict = { ...


Не надо переопределять функции стандартной библиотеки, никогда.
Код: python
1.
{'Петя':list(0 for _ in range(1,31)),'Вася':list(0 for _ in range(1,31))}


Это что за психопатство?
Код: python
1.
2.
{'Петя': [0] * 31,'Вася': [0] * 31}
dict.fromkeys(["Вася", "Петя"], [0] * 31)


Код: python
1.
2.
	if name not in dict:
		dict[name] = list(0 for _ in range(31))


Кошмар!
Код: python
1.
dct.setdefault([0] * 31)


Код: python
1.
list(0 for _ in range(31))	


Зачем?????
Код: python
1.
list(range(31))


Ну и так далее. Бред полнейший и абсолютное незнание языка. Зачем нужны такие советы и советчики?
...
Рейтинг: 0 / 0
[python] Массивы, списки, хранение данных для вычисления.
    #38638018
Фотография FishHook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: python
1.
2.
3.
dct.setdefault([0] * 31)

dct.setdefault(name, [0] * 31)
...
Рейтинг: 0 / 0
[python] Массивы, списки, хранение данных для вычисления.
    #38638592
хлыщ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну заменять
Код: python
1.
list(0 for _ in range(31))	


на
Код: python
1.
list(range(31))


неправильно, т.к. начальные значения по дням должны быть нулевыми

в остальном критика принимается, но она не по сути, а по форме
вместо того, чтобы выставлять тут свое задротство, лучше бы помог топекстартеру
...
Рейтинг: 0 / 0
[python] Массивы, списки, хранение данных для вычисления.
    #38638624
Фотография FishHook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хлыщвместо того, чтобы выставлять тут свое задротство, лучше бы помог топекстартеру
Когда топикстартер внятно сформулирует свою проблему, тогда я ему помогу.
...
Рейтинг: 0 / 0
[python] Массивы, списки, хранение данных для вычисления.
    #38638658
хлыщ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FishHookхлыщвместо того, чтобы выставлять тут свое задротство, лучше бы помог топекстартеру
Когда топикстартер внятно сформулирует свою проблему, тогда я ему помогу.
мне кажется, сам формат хранения данных типа {'День':'1', 'Коля':'10', 'Петя':'8','Вася':'7'} не совсем правилен
надо хотя бы отделить дни от имен
...
Рейтинг: 0 / 0
[python] Массивы, списки, хранение данных для вычисления.
    #38639100
Фотография FishHook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хлыщFishHookпропущено...

Когда топикстартер внятно сформулирует свою проблему, тогда я ему помогу.
мне кажется, сам формат хранения данных типа {'День':'1', 'Коля':'10', 'Петя':'8','Вася':'7'} не совсем правилен
надо хотя бы отделить дни от имен
Для начала надо бы выяснить, а нахрена ТСу вообще оно надо? Понятно, что само по себе создание структуры - задача бессмысленная. Что нужно то?
автору меня есть такая задачка.
за 150 дней нагенерилось 150 файлов

И? Что дальше то? Ну накопилось, и чо?
...
Рейтинг: 0 / 0
[python] Массивы, списки, хранение данных для вычисления.
    #38643164
Фотография Rampage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добился значит я такой красивенькой структуры:
{A:(20,15,16),B:(30,18,14),C:(70,60,80),...}
Каждому ключу в словаре соответствует лист из значений.. каждый айтем листа - величина ключа за определенный день.
Возможно ли имея очередное, новое значение A, которое еще не было добавлено в словарь, предсказать, какова будет величина B,C средствами python, не используя numpy/scipy ?

:)
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [python] Массивы, списки, хранение данных для вычисления.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]