转换字典列表中的字符串

2024-05-16 18:58:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python新手。我在下面编写代码,但遇到异常

输入

studId=ValueA,studName=valueB;studId=ValueC,studName=ValueD

输出if列表

[{'name':'ValueA','value':'valueB'},{'name':'ValueC','value':'valueD'}]

输出

ValueA

我的代码

str = "studId=ValueA,studName=valueB;studId=ValueC,studName=ValueD"

stud_list = dict(item.split("=") item.split(",") for item in str.split(";"))

for stud in stud_list :
  print(stud['studName'])

例外情况

SyntaxError: invalid syntax

Tags: 代码nameforvalueitemlistsplitstr
2条回答

加载数据时更新结构

string = "studId=ValueA,studName=valueB;studId=ValueC,studName=ValueD"

stud_list = [dict(it.split("=") for it in item.split(",")) for item in string.split(";")]

for stud in stud_list :
  print(stud['studName'])

虽然我也喜欢理解,但更容易理解的是,人们可以:

inStr = "studId=ValueA,studName=valueB;studId=ValueC,studName=ValueD"

dict_list = []

for d in inStr.split(';'):
  dict_list.append({})
  for pair in d.split(','):
    k, v = pair.split('=')
    dict_list[-1][k] = v

print(dict_list)
 

相关问题 更多 >