使用嵌套字典的str.format()方法

11

我想要使用str.format()方法来实现以下功能:

my_str = "Username: {username}, User data: {user_data.attribute}".format(**items)

并将其应用于如下所示的项目:

items = {
    "username" : "Peter",
    "user_data" : {
         "attribute" : "foo"
    }}

这可行吗?如果可以,怎么做呢?如果不行,我想知道你推荐的方法。


1
Python是一种高级编程语言,它被广泛用于数据科学、人工智能、Web开发等领域。Python具有简单易学、代码可读性强、拥有丰富的第三方库等特点,因此备受程序员们的喜爱。如果你想要学习Python,可以从基础语法开始学起,然后逐渐深入学习Python的各种应用场景和技术细节。 - user202729
1
@user202729 它确实将第一个标签附加到网页的标题(<TITLE> 这里 </TITLE>),但不会将其附加到问题的标题。 - Psytho
2
完全重复 - user202729
@Psytho 但是,仍然不鼓励在标题中标记。元帖 - user202729
投票有时很奇怪。有时重复的内容会被踩,有时又会被赞。 - user202729
1
可能是如何使用带有嵌套字典的string.format的重复问题。 - Patrick Artner
1个回答

24

试试这样做:

items = {'username': 'Peter', 'user_data': {'attribute': 'foo'}}

my_str = "Username: {username}, User data: {user_data[attribute]}".format(**items)

>>> my_str
'Username: Peter, User data: foo'

1
哦,这样可以啊。我没想到这么简单,非常感谢!希望这个问题能对其他人有所帮助。 - Konrad
2
@Konrad 是的,没错 =) - Levi

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