Python元组if语句

时间:2016-08-08 23:52:37

标签: python-3.x if-statement tuples

这里的python相当新,

我有一个python元组

reportTuple = (('Keith', 'Saturday', 10), ('Jane', 'Monday', 12))

我想打印名称和号码,但仅限于星期六。 (打印元素0, 2但仅限于元素1 value == Saturday。)

任何想法如何编写if语句来抓住它们?

3 个答案:

答案 0 :(得分:2)

遍历数组,检查中心元素的值:

for i in reportTuple: # Loop through each element of reportTuple
    if i[1] == "Saturday": # Is the day Saturday?
        print(i[0]) # Print name
        print(i[2]) # Print number

请问这里的问题是什么?它是for循环吗?

答案 1 :(得分:1)

使用Junapa的修改更新了第一个列表:

您可以使用列表理解来完成此操作。

print(*("{}: {}".format(name,number) for (name, day, number) in reportTuple if day == 'Saturday'))

将打印出来

Keith 10

如果要将if语句的结果保存在列表中,则可以执行

['{} {}'.format(name, number) for (name, day, number) in reportTuple if day == 'Saturday']

将返回给你

['Keith 10']

答案 2 :(得分:0)

我是一个非常随意的Python用户,所以几乎可以肯定有一些神奇的方法可以比我更优雅地做到这一点,但我只是尝试了这个并且它有效:

reportTuple = (('Keith', 'Saturday', 10), ('Jane', 'Monday', 12))
for report in reportTuple:
    if report[1] == 'Saturday':
        print(report[0], report[2])

打印

Keith 10