Python 如何从列表中选择单个表达式

Python 如何从列表中选择单个表达式,python,Python,在我的GCSE NEA计算评估之前,我向一些2-D lis寻求帮助,在包括dshort在内的几个成员的帮助下,我能够实现我需要的第一步。现在我需要选择一个表达式,以便它输出一个问题,并允许用户输入答案,而不是单独显示整个问题列表 def easy(): stageone = [["carry on waywardson" , "Kansas"], ["Back In Black", "Ac/DC"], ["smoke on the wa

在我的GCSE NEA计算评估之前,我向一些2-D lis寻求帮助,在包括dshort在内的几个成员的帮助下,我能够实现我需要的第一步。现在我需要选择一个表达式,以便它输出一个问题,并允许用户输入答案,而不是单独显示整个问题列表

def easy():
  stageone = [["carry on waywardson" , "Kansas"],
              ["Back In Black", "Ac/DC"],
              ["smoke on the water", "Deep purple"],
              ["sweet home albama", "Lynard Skynyrd"],
              ["another brick in the wall","Pink Floyd"]]
  for entry in stageone:
      shortTitle = ' '.join([word[0] for word in entry[0].split(' ')])
      print(shortTitle, entry[1])
我需要一首歌曲和作家被输出,这样我就可以编码,让用户输入他们的答案

正如目前我运行代码时,它将输出所有歌曲的首字母和艺术家姓名,而不是这样做,以便用户能够回答它

再次非常感谢dshort为我提供了这段代码。

您可以使用收益声明来生产您需要的商品:

生成器是一种动态生成项的集合类型,只能迭代一次。通过使用生成器,您可以提高应用程序的性能,并且与普通集合相比消耗更少的内存,因此它提供了很好的性能提升

因此,在代码中,您只需将打印更改为yield,然后使用下一个方法从生成器中获取项目

def easy: stageone=[[carry on waywardson,堪萨斯州], [返回黑色,Ac/DC], [水上的烟,深紫色], [亲爱的家,阿尔巴玛,林纳德·斯克尼德], [墙上的另一块砖,平克·弗洛伊德]] 进入stageone: shortTitle=''。为条目[0]中的单词加入[word[0]。拆分“”] 收益率短标题,条目[1] 屈服点=容易 问题 printnextyieldPoint'CoW'、'Kansas' 问题 打印NEXTYIELDPOINT“B I B”,“Ac/DC” 您可以使用收益率报表根据需要生成项目:

生成器是一种动态生成项的集合类型,只能迭代一次。通过使用生成器,您可以提高应用程序的性能,并且与普通集合相比消耗更少的内存,因此它提供了很好的性能提升

因此,在代码中,您只需将打印更改为yield,然后使用下一个方法从生成器中获取项目

def easy: stageone=[[carry on waywardson,堪萨斯州], [返回黑色,Ac/DC], [水上的烟,深紫色], [亲爱的家,阿尔巴玛,林纳德·斯克尼德], [墙上的另一块砖,平克·弗洛伊德]] 进入stageone: shortTitle=''。为条目[0]中的单词加入[word[0]。拆分“”] 收益率短标题,条目[1] 屈服点=容易 问题 printnextyieldPoint'CoW'、'Kansas' 问题 打印NEXTYIELDPOINT“B I B”,“Ac/DC”
printstageone[0]只有第一个条目才会被打印。你想要哪首歌?@DaveStSomeWhere我想要第一首歌,所以请继续打印任性的儿子first@RajanChauhan我是否每次都要对列表中的每首歌曲执行相同的操作?stageone:shortTitle=entry[0]printshortTitle只需在单独一行打印每首歌曲。printstageone[0]只有第一首歌会被打印出来。你想要哪首歌?@davest某处我想要第一首歌,所以请继续任性的儿子被打印出来first@RajanChauhan我是否每次都要对列表中的每首歌曲执行相同的操作?stageone:shortTitle=entry[0]printshortTitle只需在单独的行上打印每首歌曲。