如何在字典类型上使用str.format()?

2024-10-03 19:24:00 发布

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

如何在字典类型上使用str.format()

例如:

>>> a = 'zxv'
>>>
>>> dic = {'a' : 'val = abc', 'b' : 'val = {0}', 'c' : 'val = {0}'}.format(a)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'dict' object has no attribute 'format'

<;这是一个错误

>>> dic = {'a' : 'val = abc', 'b' : 'val = {0}'.format(a), 'c' : '{0}'}
>>> dic
{'a': 'val = abc', 'c': '{0}', 'b': 'val = zxv'}

<;这一变化使其可行,但也导致了遗漏

这是一种不受支持的格式吗?请帮忙

我想使用format()一次输入多个值。 我期望可用性与以下类似:

>>> a = "hi"
>>> text = ('{0} {0}').format(a)
>>> text
'hi hi'

我仍然在使用Python2.7


Tags: textltformat类型most字典valcall
2条回答

试试这个:

dic = {'a': 'val = abc', 'b': f'val = {a}', 'c': 'val = {}'}

附言: 它也很好用。 dic = {'a': 'val = abc', 'b': 'val = {}'.format(a), 'c': 'val = {}'}

format()是字符串方法,而不是字典方法

可以使用循环对字典中的每个值调用它

dic = {'a' : 'val = abc', 'b' : 'val = {}', 'c' : 'val = {}'}
for key, val in dic.items():
    if `{}` in val:
        dic[key] = val.format(a)

相关问题 更多 >