如何在python中将没有引号的字符串转换为字典

wuu*_*f56 1 python string dictionary tensorflow

我必须将没有引号的字符串转换为字典。

device: 0, name: GeForce GTX 1080 8GB, pci bus id: 0000:01:00.0
Run Code Online (Sandbox Code Playgroud)

'device', 'name' 和 'pci bus id' 必须是键,

'0'、'GeForce GTX 1080 8GB'、'0000:01:00.0' 必须是值。

我从 tensorflow.python.client.list_local_devices() 得到这个

vas*_*ede 5

使用,两个.split()字典理解,首先.split(', ')分割整个字符串,第二个split(': ')分割列表的项目被转换为keys and values

s = "device: 0, name: GeForce GTX 1080 8GB, pci bus id: 0000:01:00.0"
d = {i.split(': ')[0]: i.split(': ')[1] for i in s.split(', ')}
Run Code Online (Sandbox Code Playgroud)
{'device': '0', 'name': 'GeForce GTX 1080 8GB', 'pci bus id': '0000:01:00.0'}
Run Code Online (Sandbox Code Playgroud)