python string字符串函数

python format_map()函数用于返回字符串的格式化版本。

语法

str.format_map(mapping)

返回值

返回字符串

程序示例

#!/usr/bin/python
# coding=utf-8
student = {"name":["张三","李四"],"idcard":[1,2]}
 
print("我的名字是{name[0]},我的学号是{idcard[0]}".format_map(student))
print("我的名字是{name[0]},我的学号是{idcard[1]}".format_map(student))
 
 
print(["我的名字是{},我的学号是{}".format(*x) for x in zip(student["name"],student["idcard"])]) #以列表的形式输出
print("我的名字是{},我的学号是{}".format(*x) for x in zip(student["name"],student["idcard"]))
 
print(["我的名字是{},我的学号是{}".format(*x) for x in zip(*map(student.get,["name","idcard"]))]) #以列表的形式输出
print("我的名字是{},我的学号是{}".format(*x) for x in zip(*map(student.get,["name","idcard"]))) 
 
for i in range(len(student)):
    print("我的名字是{{name[0]}},我的学号是{{idcard[0]}}".format(i).format_map(student))
    # {{ }} 等效于{ } 

程序运行结果:

我的名字是张三,我的学号是1
我的名字是张三,我的学号是2

['我的名字是张三,我的学号是1', '我的名字是李四,我的学号是2']
<generator object <genexpr> at 0x0000018F5E1CFF68>

['我的名字是张三,我的学号是1', '我的名字是李四,我的学号是2']
<generator object <genexpr> at 0x0000018F5E1CF200>

我的名字是张三,我的学号是1
我的名字是张三,我的学号是1

注:使用format和format_map方法都可以进行字符串格式化,但format是一种所有情况都能使用的格式化方法,format_map仅使用于字符串格式中可变数据参数来源于字典等映射关系数据时才可以使用。format_map的参数不需传入“关键字=真实值”,而是直接传入真实的字典值。

student = {"name":["张三","李四"],"idcard":[1,2]}

print("我的名字是{name[0]},我的学号是{idcard[0]}".format_map(student))

等价于:

print("我的名字是{name[0]},我的学号是{idcard[0]}".format(**student))