Найти - Пользователи
Полная версия: Создание и заполнение словаря
Начало » Python для новичков » Создание и заполнение словаря
1
Mazay_Ka
Привет подскажите пожалуйста, изучаю питон пока не силен особо в нем, да и в других языках программирования, решаю задачку по анализу логов чата , вот стал такой вопрос.
допустим есть строка вида:
test1 Hello world!
test2 Good night world!
как создать из них словарь вида
#строки получаю из файла к примеру
log = open('logs.txt', 'r').readlines()
# вот такой словарь хочу получить
dict = {test1= 'Hello world!', test2='Good night world!'}
#значений с такими ключами может быть в файле много, хочу их все собрать и выполнить 
#разные мат функции
Зарание, спасибо за помощь
Singularity
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
py.user.next
>>> s = 'test1 Hello world!'
>>> 
>>> d = {}
>>> k, v = s.split(None, 1)
>>> d[k] = v
>>> d
{'test1': 'Hello world!'}
>>>
Mazay_Ka

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)
а можно пожалуйста обьяснить это строку, это как отделить только первый елемент и присвоить “к” его значение?
mironich
Mazay_Ka
а можно пожалуйста обьяснить это строку, это как отделить только первый елемент и присвоить “к” его значение?
k = s.split(None, 1)
JOHN_16
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!']
Budulianin
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()))
Mazay_Ka
Простите лентяя, сделал, пробывал, разобрался, спасибо
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB