将 .format() 与元组一起使用而不是字典
Using .format() with tuples instead of dictionaries
我的代码中有这一行使用字典:
print("{} {}".format(holiday["data"].strftime("%d/%m"), holiday["description"]))
不知道是不是更优雅,但我想把这个例子做成一个元组来应用。
尝试使用整数索引,具体取决于哪个索引对应哪个值。如果你的假期变量是一个元组,那就是。否则,您应该创建一个字典并使用您原来的代码行。
print("{} {}".format(holiday[0].strftime("%d/%m"), holiday[1]))
如果这两个值在一个元组中,您可以使用 datetime
和 date
对象支持 str.format()
直接格式化的事实:
holiday_tuple = (datetime.date(2015, 3, 1), 'some description')
print("{:%d/%m} {}".format(*holiday_tuple))
*arg
语法将 holiday_tuple
中的两个元素作为单独的参数应用。
您也可以让字符串模板进行提取:
print("{0[0]:%d/%m} {0[1]}".format(holiday_tuple))
演示:
>>> import datetime
>>> holiday_tuple = (datetime.date(2015, 3, 1), 'some description')
>>> print("{:%d/%m} {}".format(*holiday_tuple))
01/03 some description
>>> print("{0[0]:%d/%m} {0[1]}".format(holiday_tuple))
01/03 some description
我会用字典做类似的事情;不是从参数中的字典中提取键,而是使用 **kwargs
语法或使用索引语法提取这些键:
holiday_dictionary = {'data': datetime.date(2015, 3, 1), 'description': 'some description')
print("{data:%d/%m} {description}".format(**holiday_dictionary))
print("{0[data]:%d/%m} {0[description]}".format(holiday_dictionary))
这里不用担心元组,如果你确实有一个dict
,那么你可以使用str.format
直接从dict
做,例如:
from datetime import datetime
holiday = {
'data': datetime.today(),
'description': 'Would love one'
}
res = '{data:%d/%m} {description}'.format(**holiday)
# 01/03 Would love one
我的代码中有这一行使用字典:
print("{} {}".format(holiday["data"].strftime("%d/%m"), holiday["description"]))
不知道是不是更优雅,但我想把这个例子做成一个元组来应用。
尝试使用整数索引,具体取决于哪个索引对应哪个值。如果你的假期变量是一个元组,那就是。否则,您应该创建一个字典并使用您原来的代码行。
print("{} {}".format(holiday[0].strftime("%d/%m"), holiday[1]))
如果这两个值在一个元组中,您可以使用 datetime
和 date
对象支持 str.format()
直接格式化的事实:
holiday_tuple = (datetime.date(2015, 3, 1), 'some description')
print("{:%d/%m} {}".format(*holiday_tuple))
*arg
语法将 holiday_tuple
中的两个元素作为单独的参数应用。
您也可以让字符串模板进行提取:
print("{0[0]:%d/%m} {0[1]}".format(holiday_tuple))
演示:
>>> import datetime
>>> holiday_tuple = (datetime.date(2015, 3, 1), 'some description')
>>> print("{:%d/%m} {}".format(*holiday_tuple))
01/03 some description
>>> print("{0[0]:%d/%m} {0[1]}".format(holiday_tuple))
01/03 some description
我会用字典做类似的事情;不是从参数中的字典中提取键,而是使用 **kwargs
语法或使用索引语法提取这些键:
holiday_dictionary = {'data': datetime.date(2015, 3, 1), 'description': 'some description')
print("{data:%d/%m} {description}".format(**holiday_dictionary))
print("{0[data]:%d/%m} {0[description]}".format(holiday_dictionary))
这里不用担心元组,如果你确实有一个dict
,那么你可以使用str.format
直接从dict
做,例如:
from datetime import datetime
holiday = {
'data': datetime.today(),
'description': 'Would love one'
}
res = '{data:%d/%m} {description}'.format(**holiday)
# 01/03 Would love one