1 回答
TA贡献1799条经验 获得超6个赞
当您定义 stageone 时,使其成为如下列表的列表:
stageone = [[title, band], [title, band], [title, band]]
然后,而不是print(stageone)在最后一行做:
for entry in stageone:
shortTitle = ' '.join([word[0] for word in entry[0].split(' ')])
print(shortTitle, entry[1])
更新:要一次获得一个提示,您需要一些方法来选择一个条目stage one(对于游戏,我想这可能是一个随机索引)。然后你只需删除for我之前给出的循环并像这样使用你选择的条目
i = #some code to select an entry in stageone
entry = stageone[i]
shortTitle = ' '.join([word[0] for word in entry[0].split(' ')])
print(shortTitle, entry[1])
请注意,有很多方法可以使它更紧凑,但最初的问题让我认为更冗长的答案比最小的解决方案更好。例如,@calestinifor在我的第一个回复中评论了一个单行来替换循环,
res = [[' '.join([x[0] for x in i[0].split()]), i[1]] for i in stageone ]
这是一个很好的解决方案 -res将是一个列表[[song hint, band name], [song hint, band name]],然后您可以根据需要打印提示。我没有改变我原来的答案,因为我不喜欢在一行中使用两个列表推导(我很难阅读代码)。
添加回答
举报