2009-06-03 28 views

Trả lời

20
>>> "%d " * 3 
'%d %d %d ' 
>>> "%d " * 3 % (1,2,3) 
'1 2 3 ' 
+0

Cảm ơn bài đăng, tôi không biết điều này. Nó cũng hoạt động khi tôi thử nó như là một phần của bản in trong một chương trình: in "% d" * 3% (1, 2, 3) – PTBNL

+3

Lưu ý rằng toán tử * không dành riêng cho các định dạng thông số; nó cho Python lặp lại chuỗi X trước đó. Vì chuỗi là một chuỗi và định dạng chỉ là chuỗi ... –

+0

@ChrisB .: Không phải "_duplicate X times_", nhưng "_multiply X times_", tôi tin :) Cái cũ có thể được hiểu như thể '"% d "* 3' sẽ bằng với' ((("% d" * 2) * 2) * 2) '. – Tadeck

3

Bạn đang hỏi về

format= "%i" + ",%f"*len(row) + "\n" 
outfile.write(format % ([i]+row)) 
0

Không phải là giống hệt nhau, nhưng bạn có thể thử một cái gì đó như thế này:

values=[1,2.1,3,4,5] #you can use variables instead of values of course 
outfile.write(",".join(["%f" % value for value in values])); 
0

Lưu ý rằng tôi nghĩ rằng nó muốn được tốt hơn để làm điều gì đó như:

outfile.write(", ".join(map(str, row))) 

... không phải là wha bạn đã yêu cầu, nhưng tốt hơn theo một vài cách.

Các vấn đề liên quan