📜  在Python中使用 format() 格式化容器

📅  最后修改于: 2022-05-13 01:55:37.452000             🧑  作者: Mango

在Python中使用 format() 格式化容器

让我们看看如何使用Python中的format()方法格式化通过 __getitem__ 或 getattr() 访问的容器。

访问支持 __getitem__ 的容器

a) 对于字典

Python3
# creating a dictionary
founder = {'Apple': 'Steve Jobs', 'Microsoft': 'Bill Gates'}
  
# formatting
print('{f[Microsoft]} {f[Apple]}'.format(f = founder))


Python3
# creating a list
list_items = [1, 3, 5, 7, 9, 11]
  
# formatting
print('{l[3]} {l[5]}'.format(l = list_items))


Python3
# creating a class
class Program(object):
    language = 'Python'
  
# formatting
print('{p.language}'.format(p = Program()))


Python3
# creating a clas
class Program(object):
    language = 'Python'
      
    # creating a dictionary
    versions = [{'version': '1'}, {'version': '2'}, {'version': '3'}]
  
# formatting
print('{p.language}: {p.versions[2][version]}'.format(p = Program()))


输出 :

Bill Gates Steve Jobs

f[Microsoft] 被比尔盖茨取代,f[Apple] 被史蒂夫乔布斯取代。

b) 对于列表

Python3

# creating a list
list_items = [1, 3, 5, 7, 9, 11]
  
# formatting
print('{l[3]} {l[5]}'.format(l = list_items))

输出 :

7 11

访问支持 getattr() 的对象的属性

a) 对于班级

Python3

# creating a class
class Program(object):
    language = 'Python'
  
# formatting
print('{p.language}'.format(p = Program()))

输出 :

Python

p.language 被Python取代,因为 language 是 Program 的一个属性

访问嵌套结构

Python3

# creating a clas
class Program(object):
    language = 'Python'
      
    # creating a dictionary
    versions = [{'version': '1'}, {'version': '2'}, {'version': '3'}]
  
# formatting
print('{p.language}: {p.versions[2][version]}'.format(p = Program()))

输出 :

Python: 3