Tôi có một số dữ liệu mà tôi đang hiển thị ở định dạng 3 cột, của biểu mẫu:
a: 1 b: 12 c: 123 0.
Đây là một ví dụ:
p: 1 sl: 10 afy: 4 q: 12 lg: 10 kla: 3 r: 0 kl: 10 klw: 3 s: 67 vw: 9 jes: 3 t: 16 uw: 9 skw: 3 u: 47 ug: 9 mjl: 3 v: 37 mj: 8 lza: 3 w: 119 fv: 8 fxg: 3 x: 16 fl: 8 aew: 3Tuy nhiên, tôi muốn nếu các số được căn chỉnh phù hợp, chẳng hạn như:
a: 1 b: 12 c: 123Làm thế nào tôi có thể làm điều này trong Python?
Đây là mã in hiện có tôi có:
print(str(chr(i+ord('a'))) + ": " + str(singleArray[i]) + "\t" + str(doubleArray[i][0]) + ": " + str(doubleArray[i][1]) + "\t" + str(tripleArray[i][0]) + ": " + str(tripleArray[i][1]))
Martineau
Huy hiệu vàng 116K2525 gold badges161 silver badges286 bronze badges
Được hỏi ngày 9 tháng 9 năm 2009 lúc 20:56Sep 9, 2009 at 20:56
Trong Python 2.6+ (và đó là phương thức tiêu chuẩn trong 3), phương thức "ưa thích" để định dạng chuỗi là sử dụng String.Format () (các tài liệu hoàn chỉnh có thể được tìm thấy ở đây). Sự biện minh đúng có thể được thực hiện với
"a string {0:>5}".format(foo)Điều này sẽ sử dụng 5 địa điểm, tuy nhiên
"a string {0:>{1}}".format(foo, width)cũng hợp lệ và sẽ sử dụng chiều rộng giá trị như được chuyển cho .format ().
Pat
16.1K14 Huy hiệu vàng93 Huy hiệu bạc112 Huy hiệu đồng14 gold badges93 silver badges112 bronze badges
Đã trả lời ngày 9 tháng 9 năm 2009 lúc 22:21Sep 9, 2009 at 22:21
Colin Valliantcolin ValliantColin Valliant
1.8781 Huy hiệu vàng13 Huy hiệu bạc20 Huy hiệu Đồng1 gold badge13 silver badges20 bronze badges
3
Trong Python 2.5 sử dụng Rjust (trên chuỗi). Ngoài ra, hãy cố gắng làm quen với việc chuỗi định dạng trong Python thay vì chỉ nối các chuỗi. Ví dụ đơn giản cho định dạng rjust và chuỗi bên dưới:
width = 10 str_number = str(ord('a')) print 'a%s' % (str_number.rjust(width))
John Mee
48.5K33 Huy hiệu vàng145 Huy hiệu bạc184 Huy hiệu đồng33 gold badges145 silver badges184 bronze badges
Đã trả lời ngày 9 tháng 9 năm 2009 lúc 21:03Sep 9, 2009 at 21:03
ChristophedchristophedChristopheD
109K27 Huy hiệu vàng160 Huy hiệu bạc177 Huy hiệu đồng27 gold badges160 silver badges177 bronze badges
Sử dụng định dạng chuỗi python: a: 1 b: 12 c: 123 1 trong đó chiều rộng là một số nguyên
>>> '%10s' % 10 ' 10' >>> '%10s' % 100000 ' 100000'Đã trả lời ngày 9 tháng 9 năm 2009 lúc 21:04Sep 9, 2009 at 21:04
Nadia Alramlinadia AlramliNadia Alramli
108K35 Huy hiệu vàng170 Huy hiệu bạc151 Huy hiệu đồng35 gold badges170 silver badges151 bronze badges
1
Trong Python 3.6, bạn có thể sử dụng phép nội suy chuỗi theo nghĩa đen, ít dài dòng hơn và có thể trực quan hơn để sử dụng:
width = 5 number = 123 print (f'{number:>{width}}')Hoặc chỉ:
number = 123 print (f'{number:>5}')Nó tái sử dụng phần lớn cú pháp a: 1 b: 12 c: 123 2.
Tôi đoán/hy vọng đây sẽ là cách ưa thích trong tương lai.
Đã trả lời ngày 13 tháng 2 năm 2017 lúc 20:51Feb 13, 2017 at 20:51
1
Nếu bạn biết AA trên giới hạn cho các số của bạn, bạn có thể định dạng với a: 1 b: 12 c: 123 3. Cho tất cả các tính toán được thực hiện và trong một danh sách (char, num):
mapping = ((chr(i+ord('a')), singleArray[i]), (doubleArray[i][0],doubleArray[i][1]), (tripleArray[i][0],tripleArray[i][1]) ) for row in mapping: print "%s: %3d" % rowĐã trả lời ngày 9 tháng 9 năm 2009 lúc 21:04Sep 9, 2009 at 21:04
Nadia Alramlinadia AlramliJochen Ritzel
108K35 Huy hiệu vàng170 Huy hiệu bạc151 Huy hiệu đồng30 gold badges196 silver badges192 bronze badges