这里的python相当新,
我有一个python元组
reportTuple = (('Keith', 'Saturday', 10), ('Jane', 'Monday', 12))
我想打印名称和号码,但仅限于星期六。 (打印元素0, 2
但仅限于元素1 value == Saturday
。)
任何想法如何编写if语句来抓住它们?
答案 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