python竖着输出_python-将输出格式化为表格

该博客内容涉及数据处理技巧,包括将数据转换为特定输出格式。通过示例展示了如何组织列表,创建行列布局,并使用Python进行字符串操作,如转换为单字符宽度和对齐。此外,还提供了一个生成数字网格的示例,强调了字符串连接和填充在数据格式化中的应用。
摘要由CSDN通过智能技术生成

这是您修改后的问题的答案:

data = [

['A','a','1'],

['B','b','2'],

['C','c','3'],

['D','d','4']

]

# Desired output:

#

# A B C D

# a 1

# b 2

# c 3

# d 4

# Check data consists of colname, rowname, value triples

assert all([3 == len(row) for row in data])

# Convert all data to strings

data = [ [str(c) for c in r] for r in data]

# Check all data is one character wide

assert all([1 == len(s) for s in r for r in data])

#============================================================================

# Verbose version

#============================================================================

col_names, row_names, values = zip(*data) # Transpose

header_line = ' ' + ' '.join(col_names)

row_lines = []

for idx, (row_name, value) in enumerate(zip(row_names,values)):

# Use ' '*n to get 2n consecutive spaces.

row_line = row_name + ' ' + ' '*idx + value

row_lines.append(row_line)

print header_line

for r in row_lines:

print (r)

或者,如果这对您来说太长了,请尝试以下操作:

cs, rs, vs = zip(*data)

print ('

'.join([' '+' '.join(cs)] + [r+' '+' '*i+v for i,(r,v) in enumerate(zip(rs,vs))]))

两者都具有以下输出:

A B C D

a 1

b 2

c 3

d 4

这是您想要的内核(没有阅读器行或标题列)

>>> print('

'.join([ ''.join([str(i+j+2).rjust(3)

for i in range(10)]) for j in range(10) ]))

2 3 4 5 6 7 8 9 10 11

3 4 5 6 7 8 9 10 11 12

4 5 6 7 8 9 10 11 12 13

5 6 7 8 9 10 11 12 13 14

6 7 8 9 10 11 12 13 14 15

7 8 9 10 11 12 13 14 15 16

8 9 10 11 12 13 14 15 16 17

9 10 11 12 13 14 15 16 17 18

10 11 12 13 14 15 16 17 18 19

11 12 13 14 15 16 17 18 19 20

它使用对i和j的嵌套列表推导生成数字i j,然后使用str.rjust()将所有字段填充为三个字符的长度,最后使用一些str.join()s将所有子字符串放在一起.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值