从列表中提取元组及其元素的语法?

时间:2015-04-23 19:25:22

标签: python string tuples

假设我有

courses = ['French','Spanish','algebra','British literature']
subjects = ['language','math','English']
lista = [('French','language'),('Spanish','language'),('algebra','math'),('British literature','English')]

因此,我不是使用字典,而是使用元组来匹配每个课程及其主题。

如果我使用print '\n'.join([subject + ' in ' + course for (course,subject) in lista]),我会在表格

中获得完整列表
language in French
language in Spanish
math in algebra
English in British literature

我会写什么,以便不是打印所有lista的格式化内容,而是仅格式化第一个元素lista[0],以便它打印"language in French"代替?

4 个答案:

答案 0 :(得分:2)

如果你只是想要那个,你可以这样做:

' in '.join(lista[0][::-1])

lista[0]将为您提供lista的第一个元素,而[::-1]将采用反向切片。

答案 1 :(得分:2)

我认为你在寻找我们:

print [subject +' in ' + course for (course,subject) in lista][0]

哪个输出:

language in French

只需将[0]更改为[x],其中x为元素

答案 2 :(得分:0)

我真的必须误读你的问题,因为我理解它的方式,你正在寻找像

这样简单的东西
courses = ['French','Spanish','algebra','British literature']
subjects = ['language','math','English']
lista = [('French','language'),('Spanish','language'),('algebra','math'),('British literature','English')]
print lista[0][1] + ' in ' + lista[0][0]

答案 3 :(得分:0)

如果你只是想让第一个元组用str.format解压缩编号,那就把第二个元素放在第一位:

print("{1} in {0}".format(*lista[0]))
language in French