从python列表的第一行创建新列表

2024-04-26 11:21:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我对python非常陌生,需要一些帮助来显示列表中的描述性标题:

>>>y = [
    # First line is a descriptive header. 
    ['Beatle', 'Song 1', 'Song 2', 'Song 3'],
    ['George', '79', '90', '80'],
    ['Paul', '88', '82', '89']
]

我可以创建一个新列表来分离第一行之后的数据行(George&Paul),但需要在第一行中显示某些范围(例如:Song 1&Song 2)。你知道吗

##To return the beatles names in a list:
>>>def beatles(matrix, i):
    return [row[i] for row in matrix]
>>>beatles(y[1:2],0)
['George', 'Paul']


##To return the song number (header)
#Trying:
>>>songnumber = [i[1:2] for i in y]
>>>print(songnumber)
Returns:[['79'], ['90']]

Tags: thetoin列表forreturnsongmatrix
1条回答
网友
1楼 · 发布于 2024-04-26 11:21:35

数组y的索引,例如y[2][3]具有值'89'

您可以从每一行创建一个字典,然后使用名称访问所需的位:

fields = y[0]
for row in y[1:]:
    d = dict(zip(fields, row))
    print d['Beatle'], d['Song 2']

相关问题 更多 >