如何通过将索引名称作为标题来打印具有相同名称的索引和分隔的换行符:
我有下面的列表值,我有Art,Science 并Geology有多行我希望所有的行使用换行符分隔符打印相同的索引值.
file = open('student.txt')
for line in file:
fields = line.strip().split()
print(fields)
Run Code Online (Sandbox Code Playgroud)
以下处理如下
['Jullu', '18', 'Art']
['sean', '25', 'Art']
['Rubeena', '18', 'Science']
['Kareen', '18', 'Science']
['Rene', '18', 'Geology']
['Babu', '18', 'Geology']
['Riggu', '18', 'Robotics']
Run Code Online (Sandbox Code Playgroud)
我想要的输出:
Art
Jullu 18 Art
sean 25 Art
Science
Rubeena 18 Science
Kareen 18 Science
Run Code Online (Sandbox Code Playgroud)
更多Exaplabation:我上面绘制的List输出是从Bleow文本文件中调用的结果,因此我们需要
$ cat student.text
Jullu d18 Art
seand d25 Art
Rubeenad d18 Science
Kareend d18 Science
Rened d18 Geology
Babud d18 Geology
Riggud d18 Robotics
Run Code Online (Sandbox Code Playgroud)
我的一致意见是没有让它成为第一级的鼓掌.
按如下方式修改您的代码:
file = open('student.txt')
l=[]
for line in file:
fields = line.strip().split()
print(fields)
l.append(fields)
Run Code Online (Sandbox Code Playgroud)
现在l是列表的列表,您可以这样做:
sub = []
for i in l:
sub.append(i[2])
sub = list(set(sub))
for i in sub:
print i
for index, j in enumerate(l):
if i in l[index][2]:
print '\t' + ' '.join(j)
Run Code Online (Sandbox Code Playgroud)
输出:
Science
Rubeena 18 Science
Kareen 18 Science
Robotics
Riggu 18 Robotics
Art
Jullu 18 Art
sean 25 Art
Geology
Rene 18 Geology
Babu 18 Geology
Run Code Online (Sandbox Code Playgroud)