开发者社区> 问答> 正文

如何在同一行的for循环中返回列表的特定元素?(python 3)

ALL_IRELAND_WINNERS = [(1887, "Munster", "Tipperary"), (1889, "Leinster", "Dublin"), (1890, "Munster", "Cork"), (1891, "Munster", "Kerry"), (1892, "Munster", "Cork"), (1893, "Munster", "Cork"), (1894, "Munster", "Cork"), (1895, "Munster", "Tipperary"), (1896, "Munster", "Tipperary"), (1897, "Munster", "Limerick"), (1898, "Munster", "Tipperary"), (1899, "Munster", "Tipperary"), (1900, "Munster", "Tipperary"), (1901, "Britain", "London"), (1902, "Munster", "Cork"), (1903, "Munster", "Cork"), (1904, "Leinster", "Kilkenny"), (1905, "Leinster", "Kilkenny0]

query_team = input("Enter a county: ")
def winning_county(query_team):
    for (years, province, county) in ALL_IRELAND_WINNERS:
        if (query_team == county):
            return(years)

用户输入的“县”将搜索此列表,并且只返回年份中的1年,我需要它返回他们赢得的所有年份并将它们放到列表中……有什么帮助吗?

问题来源:stackoverflow

展开
收起
is大龙 2020-03-24 22:29:41 460 0
2 条回答
写回答
取消 提交回答
  • 代码改变世界,我们改变代码

    你用return一次就会退出函数执行了。

    采用列表存储,这样可以拿到所有的。

    2020-04-15 13:23:22
    赞同 展开评论 打赏
  • 你近了 与其给出第一个正确答案,不如保留一份工作年份的清单,然后返回完整清单。所以像这样:

    query_team = input("Enter a county: ")
    def winning_county(query_team):
        winning_years = []
        for (year, province, county) in ALL_IRELAND_WINNERS:
            if (query_team == county):
                winning_years.append(year)
        return winning_years
    

    回答来源:stackoverflow

    2020-03-24 22:29:48
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载