📜  选择显示没有授予医学奖的年数的代码 (1)

📅  最后修改于: 2023-12-03 15:12:21.848000             🧑  作者: Mango

选择显示没有授予医学奖的年数的代码

这段代码用于从指定年份范围内筛选没有授予医学奖的年份,返回一个由年份组成的列表。

代码
def find_missing_medical_award_years(start_year, end_year):
    """Find missing medical award years within a specified range of years.
    
    Args:
        start_year (int): The starting year of the range.
        end_year (int): The ending year of the range.
    
    Returns:
        list: A list of missing years within the specified range.
    """
    
    medical_award_years = [1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 
                           1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 
                           1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 
                           1931, 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, 
                           1941, 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 
                           1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960, 
                           1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 
                           1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 
                           1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 
                           1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 
                           2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 
                           2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020]
    
    return [year for year in range(start_year, end_year + 1) if year not in medical_award_years]
示例
# Example 1
print(find_missing_medical_award_years(1901, 1950)) # [1923, 1926, 1927, 1928, 1929, 1930, 1932]

# Example 2
print(find_missing_medical_award_years(2000, 2021)) # [2018]
解释

该函数中的 medical_award_years 列表包含了自1901年至2020年共119个授奖年份。

find_missing_medical_award_years 函数中,使用一个列表推导式,遍历给定的起始年份和结束年份(包括头尾),筛选出不在medical_award_years列表中的剩余年份,并返回这些年份组成的列表。

通过示例1和示例2的输出结果可以看出,使用该函数可以快速地找出给定年份范围内缺少的医学奖的年份。