Я пытаюсь прочесть понимание словаря, которое берет список строк и создает словарь из этих элементов. В приведенном ниже коде содержатся ожидаемые и фактические результаты, а также понимание, которое я использую. Любая помощь будет оценена по достоинству.Проблема с пониманием словаря
s = ['Kennedy D MA -1 -1 1 1', 'Snowe R ME 1 1 1 1']
strlist = list(x.split() for x in s)
print({ strlist[x][0]:[int(strlist[x][y])] for x in range(len(strlist)) for y in range(3, len(strlist[0])) })
'''
EXPECTED: {'Snowe': [1, 1, 1, 1], 'Kennedy': [-1, -1, 1, 1]}
ACTUAL: {'Snowe':[1] , 'Kennedy':[1]}
'''
Wow! Это работает, но я не совсем уверен, как это сделать. Можете ли вы объяснить синтаксис s [3:]? Это просто повторение с 3 до конца? – drunkenmonkey44
Мне также нужны 1 и -1 как целочисленные значения int (s [3:]) не работает. Можно ли каким-либо образом преобразовать эти значения в целые числа, когда я добавлю их в список? – drunkenmonkey44
@ drunkenmonkey44 уверен, используйте '[int (x) для x в s [3:]' вместо просто 's [3:]'! –