[英]Python how to check the dictonary have value in list and change to string type?
我有下面的字典,其中一些键的值显示为列表。 我需要找到那些是列表类型并需要转换为字符串的值
details=
{
"dsply_nm": [
"1981 test test"
],
"eff_dt": [
"2021-04-21T00:01:00-04:00"
],
"exp_dt": [
"2022-04-21T00:01:00-04:00"
],
"pwr": [
"14"
],
"is_excl": [
"true"
],
"is_incl": [
"false"
],
"len": [
"14"
],
"max_spd": [
"14"
],
"id": "58",
"type_nm": "single",
"updt_dttm": "2021-04-21T13:40:11.148-04:00",
"nbr": "3",
"typ": "premium",
"nm": "test"
}
下面的代码似乎没有工作,它没有作为字符串返回
test={}
for k,v in details.items():
if isinstance(v, list):
test[k]="".join(str(v))
test[k]=v
print(test)
预期应该如下
{'dsply_nm':'1981 test test',
"eff_dt": "2021-04-21T00:01:00-04:00",
"exp_dt":"2022-04-21T00:01:00-04:00",
"pwr":"14",
"is_excl":"true",
"is_incl": "false",
"len":"14",
"max_spd":"14",
"id":"58",
"updt_dttm":"2021-04-21T13:40:11.148-04:00",
"nbr":"3",
"typ": "premium",
"nm":"test"
}
有人可以帮忙吗?
您的代码几乎是正确的-您忘记了else
子句,并且不应在str(v)
之前使用join
。 此代码工作正常:
test={}
for k,v in details.items():
if isinstance(v, list):
test[k]="".join(v)
else:
test[k]=v
print(test)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.