请提供帮助,我是python的新手,我不知道如何开始。

我有一列这样的信息,用“标题”分隔的信息块以“ AW”开头:

AW ABC
x
y
z
AW DEF
w
p
o
y
t
AW QQWL
h
k


如何将与相应值相关的标题打印到rigth?

AW ABC
x       AW ABC
y       AW ABC
z       AW ABC
AW DEF
w       AW DEF
p       AW DEF
o       AW DEF
y       AW DEF
t       AW DEF
AW QQWL
h       AW QQWL
k       AW QQWL


在此先感谢您的帮助。

更新

我目前能执行的代码如下:

column='''AW ABC
x
y
z
AW DEF
w
p
o
y
t
AW QQWL
h
k'''

values = column.split("\n")

for v in values:
   if "AW" in v:
      s = v
      print v
   else:
      print s, v


有没有更Python的方式来做到这一点?

最佳答案

直接:

column='''AW ABC
x
y
z
AW DEF
w
p
o
y
t
AW QQWL
h
k'''

for line in column.splitlines():
    if line.startswith('AW'):
        head = line
    else:
        line = f'{line}{head:>12}'
    print(line)


输出:

AW ABC
x      AW ABC
y      AW ABC
z      AW ABC
AW DEF
w      AW DEF
p      AW DEF
o      AW DEF
y      AW DEF
t      AW DEF
AW QQWL
h     AW QQWL
k     AW QQWL

08-24 17:16