相关疑难解决方法(0)

如何在列表中拆分字符串以在Python中创建键值对

我有一个如下所示的列表:

[ 'abc=lalalla', 'appa=kdkdkdkd', 'kkakaka=oeoeoeo']
Run Code Online (Sandbox Code Playgroud)

我想用'='拆分这个列表,这样左边的所有东西都会成为键,而右边的值就是值.

{ 
    'abc':'lalalla',
    'appa':'kdkdkdkd',
    'kkakaka':'oeoeo'
}
Run Code Online (Sandbox Code Playgroud)

python string

17
推荐指数
3
解决办法
3万
查看次数

使用list comprehension将字符串转换为dict

我几次遇到这个问题,似乎无法找到一个简单的解决方案.说我有一个字符串

string = "a=0 b=1 c=3"
Run Code Online (Sandbox Code Playgroud)

我想将其转换为字典,其中a,b和c是键,0,1和3是它们各自的值(转换为int).显然我可以这样做:

list = string.split()
dic = {}
for entry in list:
    key, val = entry.split('=')
    dic[key] = int(val)
Run Code Online (Sandbox Code Playgroud)

但我真的不喜欢循环,看起来很简单,你应该能够将它转换为某种列表理解表达式.这适用于稍微简单的情况,其中val可以是一个字符串.

dic = dict([entry.split('=') for entry in list])
Run Code Online (Sandbox Code Playgroud)

但是,我需要动态地将val转换为int,并且做这样的事情在语法上是不正确的.

dic = dict([[entry[0], int(entry[1])] for entry.split('=') in list])
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:有没有办法消除使用列表理解的for循环?如果没有,是否有一些内置的python方法可以为我做到这一点?

python string dictionary list-comprehension generator-expression

15
推荐指数
1
解决办法
2万
查看次数

将字符串列表转换为字典

我有一份清单

['Tests run: 1', ' Failures: 0', ' Errors: 0']
Run Code Online (Sandbox Code Playgroud)

我想将它转换为字典

{'Tests run': 1, 'Failures': 0, 'Errors': 0}
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

python dictionary list python-2.7

8
推荐指数
2
解决办法
8164
查看次数