9
Làm cách nào để sử dụng các biến để định dạng các biến của tôi?Định dạng chuỗi trong python với định dạng biến
cart = {"pinapple": 1, "towel": 4, "lube": 1}
column_width = max(len(item) for item in items)
for item, qty in cart.items():
print "{:column_width}: {}".format(item, qty)
> ValueError: Invalid conversion specification
hoặc
(...):
print "{:"+str(column_width)+"}: {}".format(item, qty)
> ValueError: Single '}' encountered in format string
Những gì tôi có thể làm, tuy nhiên, là lần đầu tiên để xây dựng chuỗi định dạng và sau đó định dạng nó:
(...):
formatter = "{:"+str(column_width)+"}: {}"
print formatter.format(item, qty)
> lube : 1
> towel : 4
> pinapple: 1
Trông vụng về, tuy nhiên. Không có cách nào tốt hơn để xử lý loại tình huống này?
Vâng, đây là một trong những lý do mà '.format()' là ưu tiên cho các chuỗi định dạng '%' –
@gnibbler: '% *' hoạt động tốt – georg
Afaik '%' được coi là không dùng nữa và sẽ bị xóa trong các phiên bản tương lai của Python 3, mặc dù chưa có thời hạn thực tế nào được công bố. –