Форум сайта python.su
0
Привет подскажите пожалуйста, изучаю питон пока не силен особо в нем, да и в других языках программирования, решаю задачку по анализу логов чата , вот стал такой вопрос.
допустим есть строка вида:
test1 Hello world!
test2 Good night world!
как создать из них словарь вида
#строки получаю из файла к примеру log = open('logs.txt', 'r').readlines() # вот такой словарь хочу получить dict = {test1= 'Hello world!', test2='Good night world!'} #значений с такими ключами может быть в файле много, хочу их все собрать и выполнить #разные мат функции
Офлайн
75
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
Офлайн
857
>>> s = 'test1 Hello world!' >>> >>> d = {} >>> k, v = s.split(None, 1) >>> d[k] = v >>> d {'test1': 'Hello world!'} >>>
Офлайн
0
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)
Офлайн
2
Mazay_Kak = s.split(None, 1)
а можно пожалуйста обьяснить это строку, это как отделить только первый елемент и присвоить “к” его значение?
Офлайн
221
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!']
Офлайн
33
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()))
Офлайн
0
Простите лентяя, сделал, пробывал, разобрался, спасибо
Офлайн