gpt4 book ai didi

python - Format() 可变长度列表

转载 作者:行者123 更新时间:2023-12-04 08:34:40 24 4
gpt4 key购买 nike

我试图在完成 codewars 挑战时了解 python 中的 format() 函数。我的解决方案不太优雅,因为我使用 if 语句在特定位置插入电话号码格式。
最佳答案是:

def create_phone_number(n):
return "({}{}{}) {}{}{}-{}{}{}{}".format(*n)
我知道 format() 将用您输入的任何参数替换每个大括号,并且列表长度不能小于大括号的数量。 format() 函数如何知道在从 n[0] 开始的每个位置遍历列表并在它正在格式化的字符串中没有放置变量时替换空花括号?

最佳答案

* n 之前是用来解包的。这意味着它被转换为参数列表。如果是字符串 "1234"它被解压为它的字符 '1','2','3','4'如果所有大括号都是空的,它们会被隐式填充索引。
所以"({}{}{}) {}{}{}-{}{}{}{}".format(*n)相当于"({0}{1}{2}) {3}{4}{5}-{6}{7}{8}{9}".format(*n)带索引的大括号被 format 方法的相应参数替换。这意味着如果您手动向大括号添加索引,您可以更改参数在字符串中出现的顺序,甚至可以多次插入相同的参数。
您可以在 Format String Syntax 的文档中阅读更多信息

关于python - Format() 可变长度列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64852994/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com