Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 14, 2014 21:39:45

Mazay_Ka
Зарегистрирован: 2013-04-03
Сообщения: 59
Репутация: +  0  -
Профиль   Отправить e-mail  

Создание и заполнение словаря

Привет подскажите пожалуйста, изучаю питон пока не силен особо в нем, да и в других языках программирования, решаю задачку по анализу логов чата , вот стал такой вопрос.
допустим есть строка вида:
test1 Hello world!
test2 Good night world!
как создать из них словарь вида

#строки получаю из файла к примеру
log = open('logs.txt', 'r').readlines()
# вот такой словарь хочу получить
dict = {test1= 'Hello world!', test2='Good night world!'}
#значений с такими ключами может быть в файле много, хочу их все собрать и выполнить 
#разные мат функции
Зарание, спасибо за помощь

Офлайн

#2 Янв. 14, 2014 21:43:23

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

Создание и заполнение словаря

In [1]: dict(test1='Hello world!', test2='Good night world!')
Out[1]: {'test1': 'Hello world!', 'test2': 'Good night world!'}
In [2]: {'test1':'Hello world!', 'test2':'Good night world!'}
Out[2]: {'test1': 'Hello world!', 'test2': 'Good night world!'}
In [3]: dict(test1='Hello world!', test2='Good night world!') == {'test1':'Hello world!', 'test2':'Good night world!'}
Out[3]: True

Офлайн

#3 Янв. 14, 2014 22:09:36

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Создание и заполнение словаря

>>> s = 'test1 Hello world!'
>>> 
>>> d = {}
>>> k, v = s.split(None, 1)
>>> d[k] = v
>>> d
{'test1': 'Hello world!'}
>>>



Офлайн

#4 Янв. 15, 2014 00:09:53

Mazay_Ka
Зарегистрирован: 2013-04-03
Сообщения: 59
Репутация: +  0  -
Профиль   Отправить e-mail  

Создание и заполнение словаря


Singularity
In : dict(test1='Hello world!', test2='Good night world!')
Out: {'test1': ‘Hello world!’, ‘test2’: ‘Good night world!’}
In : {'test1':'Hello world!', ‘test2’:'Good night world!'}
Out: {'test1': ‘Hello world!’, ‘test2’: ‘Good night world!’}
In : dict(test1='Hello world!', test2='Good night world!') == {'test1':'Hello world!', ‘test2’:'Good night world!'}
Out: True



post :: Singularity ->

Простите не понял что это

py.user.next
k, v = s.split(None, 1)
а можно пожалуйста обьяснить это строку, это как отделить только первый елемент и присвоить “к” его значение?

Офлайн

#5 Янв. 15, 2014 02:14:19

mironich
От:
Зарегистрирован: 2011-05-23
Сообщения: 118
Репутация: +  2  -
Профиль   Отправить e-mail  

Создание и заполнение словаря

Mazay_Ka
а можно пожалуйста обьяснить это строку, это как отделить только первый елемент и присвоить “к” его значение?
k = s.split(None, 1)



Офлайн

#6 Янв. 15, 2014 02:23:00

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Создание и заполнение словаря

Mazay_Ka
а можно пожалуйста обьяснить это строку, это как отделить только первый елемент и присвоить “к” его значение?
ну вы же можете сами взять строку, применить этот код, вывести на экран переменные k,v - зачем спрашивать такие примитивные вещи? Я уже не говорю о том что все это достаточно подробно описано в документации, ну а раз вы ее читать не хотите. то соображайте эмпирически:
>>> s='Read this pretty manual!'
>>> s.split()
['Read', 'this', 'pretty', 'manual!']
>>> s.split(None)
['Read', 'this', 'pretty', 'manual!']
>>> s.split(None, 1)
['Read', 'this pretty manual!']
>>> s.split(None, 2)
['Read', 'this', 'pretty manual!']
>>> s.split(None, 3)
['Read', 'this', 'pretty', 'manual!']
>>> s.split(None, 4)
['Read', 'this', 'pretty', 'manual!']
>>> s.split(None, 40)
['Read', 'this', 'pretty', 'manual!']



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#7 Янв. 15, 2014 02:28:42

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Создание и заполнение словаря

Mazay_Ka
допустим есть строка вида:
test1 Hello world!
test2 Good night world!
как создать из них словарь вида
Mazay_Ka
{test1= ‘Hello world!’, test2='Good night world!'}


from functools import partial
dict(map(partial(str.split, maxsplit=1), s.splitlines()))



Офлайн

#8 Янв. 20, 2014 22:33:48

Mazay_Ka
Зарегистрирован: 2013-04-03
Сообщения: 59
Репутация: +  0  -
Профиль   Отправить e-mail  

Создание и заполнение словаря

Простите лентяя, сделал, пробывал, разобрался, спасибо

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version