字典键的字符串

3

我有一个字典:

test_list = {"fname":"eoin","dob":"10/12/1992"}

这只是一个示例字典,但在我的情况下,字典项目是动态的,可以是任意长度。因此,我期望创建一个格式如下的字符串:

result = "fname : {fname} , dob: {dob}".format(**test_list)

我需要这个来完成我的其他任务。我不知道如何做。


1
print(str(test_list).strip("{}")) - Rakesh
不是 @creyD,实际上 OP 需要的是相反的。 - yatu
你当前的方法有什么问题?你只需要结果中的姓名和出生日期还是需要全部内容? - urban
1
在这个例子中,我知道字典中的键名,但当我的字典是动态的并且可以拥有任意数量的键值对时,我不知道名称。那么我该如何处理呢?这就是我的问题。 - Ironman
3个回答

2

Try using this code:

print(str(test_list)[1:-1].replace("'", ""))

输出:

fname: eoin, dob: 10/12/1992

2

简单字典的字符串表示:

test_dict = {"fname":"eoin","dob":"10/12/1992","abc": 123}
res = ', '.join('{}: {}'.format(k, v) for k,v in test_dict.items())
print(res)

输出结果:

fname: eoin, dob: 10/12/1992, abc: 123

似乎.format(k, v)就足够了。另外,作为一个小注释,当使用列表而不是生成器时,join会稍微快一些。 - yatu

1
一种方法是使用 str()str.strip

例如:

test_dict = {"fname":"eoin","dob":"10/12/1992"}
print(str(test_dict).strip("{}").replace("'", "").replace('"', ""))

输出:

fname: eoin, dob: 10/12/1992

1
抱歉,但这与我的答案相同。 - U13-Forward
@U10-Forward 几乎相似...除了它是在评论中发布的,询问 OP 是否需要这个解决方案。 - Rakesh
@Rakesh 哦,我看到了区别。 - U13-Forward

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接