簡體   English   中英

Python在二維矩陣上打印行號和列號?

[英]Python Printing Row and Column number on 2d matrix?

我正在嘗試按如下方式打印輸出。

字符串:[“貓”、“狗”、“大”]

Print:
      0  1  2
0     c  a  t 
1     d  o  g
2     b  i  g

但我似乎無法正確打印索引

for i in a:
  for j in i:
    print(j, end=' ')
  print()

我知道這會打印矩陣本身,但沒有給我我需要的行號和列號

熊貓的理想工作:

import pandas as pd

lst = ["cat", "dog", "big"]

df = pd.DataFrame([[y for y in x] for x in lst])
print(df)

#    0  1  2
# 0  c  a  t 
# 1  d  o  g
# 2  b  i  g

請嘗試以下:

str_list = ["cat", "dog",  "big"]
print (" ", " ".join([str(x) for x in range(len(str_list))]))
for i, x in enumerate(str_list):
  print (i, " ".join(x))

演示

您可以通過以下代碼在不使用任何庫的情況下實現您的輸出,否則 PANDAS 將有助於 oneliner

str = ['cat','dog','big']

r = 0
c = 0
print('  ',end='')
for i in range(0,(max([len(i) for i in str]))):
    print(c,end=' ')
    c+=1
print()
for i in str:
    print(r,end=' ')
    for j in i:
        print(j , end=' ')
    print()
    r+=1

輸出 :

在此處輸入圖片說明

達達! 無論列表維度如何,此解決方案都應該有效。

str_list = ['cat', 'dog', 'loooong', 'big']

max_row_len = len(max(str_list, key=len))

#header
print('  ', end='')
print(*range(max_row_len), sep=' ')

#rows
for idx, val in enumerate(str_list):
    print(idx, end=' ')
    print(*val, sep=' ')

輸出:

  0 1 2 3 4 5 6
0 c a t
1 d o g
2 l o o o o n g
3 b i g

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM