Hướng dẫn how to right align numbers in python - cách căn phải các số trong python

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: 3

Tuy 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: 123

Là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]))

Hướng dẫn how to right align numbers in python - cách căn phải các số trong python

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

Hướng dẫn how to right align numbers in python - cách căn phải các số trong python

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))

Hướng dẫn how to right align numbers in python - cách căn phải các số trong python

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

Làm thế nào để bạn để lại các số căn chỉnh trong Python?

Định dạng số bằng phương thức định dạng () trong số Python cũng có thể được để lại, bên phải hoặc trung tâm được căn chỉnh bằng phương thức Python định dạng ().Để hiển thị một số có căn chỉnh bên trái, chúng tôi sử dụng các trò chơi:use the “:.

Làm thế nào để bạn sử dụng .2f trong Python?

2F là một trình giữ chỗ cho số điểm nổi.Vì vậy, %D được thay thế bằng giá trị đầu tiên của tuple tức là 12 và %.2F được thay thế bằng giá trị thứ hai I.E 150.87612.... Định dạng chuỗi Python ..

Làm thế nào để bạn in một danh sách phù hợp bên phải trong Python?

Sử dụng str.Gọi str.rjust (chiều rộng) để đưa ra kết quả trước đó str với khoảng cách theo chiều dài của chiều rộng.Để pad str với một ký tự khác ngoài không gian, hãy gọi str.Call str. rjust(width) to right-align the previous result str with spaces to a length of width . To pad str with a character other than spaces, call str.

Làm thế nào để bạn đúng căn chỉnh một chuỗi định dạng?

Có một số cách khác nhau để các chuỗi chuyển đổi đúng bằng hàm định dạng: sử dụng ký tự @.Sử dụng chức năng RSET.Sử dụng cách giải quyết với chức năng $ định dạng.Use the @ character. Use the RSet function. Use workarounds with the Format$ function.