首页 > 解决方案 > 此函数创建并返回第 n 个字母与 Python 中参数中的字母匹配的所有国家/地区的列表

问题描述

get_list_of_countries_whose_nth_letter_is(3, “m”)将返回第三个字母(即索引 2)是字母 m 的每个国家的列表:

['Armenia', 'Cambodia', 'Cameroon', 'Comoros', 'Dominica', 'Dominican Republic', 'Gambia', 'Jamaica', 'Namibia', 'Romania', 'Samoa', 'Somalia', 'Yemen', 'Zambia', 'Zimbabwe']

注意:您必须使用 for 循环。

这就是我所知道的,它只是用“M”打印字母,但如果我能得到一些输入来打印出第三个字母(即索引 2)是字母 m 的国家/地区。

def get_list_of_countries_whose_nth_letter_is(n_letter):
    countrie = []
    for countries1 in countries:
        if "M" in countries1.upper():
            countrie.append(countries1)
    print(countrie)

['Armenia', 'Bahamas', 'Belgium', 'Cambodia', 'Cameroon', 'Colombia', 'Comoros', 'Congo, Democratic Republic of the', 'Denmark', 'Dominica', 'Dominican Republic', 'East Timor', 'Federated States of Micronesia', 'Gambia', 'Germany', 'Guatemala', 'Jamaica', 'Luxembourg', 'Madagascar', 'Malawi', 'Malaysia', 'Maldives', 'Mali', 'Malta', 'Marshall Islands', 'Mauritania', 'Mauritius', 'Mexico', 'Moldova', 'Monaco', 'Mongolia', 'Montenegro', 'Morocco', 'Mozambique', 'Myanmar (Burma)', 'Namibia', 'North Macedonia (Macedonia)', 'Oman', 'Panama', 'Romania', 'Samoa', 'San Marino', 'Sao Tome and Principe', 'Solomon Islands', 'Somalia', 'Suriname', 'Turkmenistan', 'United Arab Emirates', 'United Kingdom', 'Vietnam', 'Yemen', 'Zambia', 'Zimbabwe']

标签: pythonjsonpython-3.xlistfor-loop

解决方案


Riel,您的代码在查找M. 试试这个,看看它是否可以帮助你理解问题:

[更新] - 如果您的函数需要两个参数:一个字母和一个索引 - 那么您可以更改它:

def countries_nth_letter_is(letter, index): 
    for country in countries:

    if country[index].upper() == letter:
        .....



def countries_nth_letter_is(字母):

ans = []

for country in countries:
    
    if country[2].upper() == letter:
        ans.append(country)

return ans

如果名称=='主要':国家= ['亚美尼亚','巴哈马','比利时','柬埔寨','喀麦隆','哥伦比亚','科摩罗','刚果民主共和国','丹麦','多米尼克','多米尼加共和国','东帝汶','密克罗尼西亚联邦','冈比亚','德国','危地马拉','牙买加','卢森堡','马达加斯加','马拉维' , '马来西亚', '马尔代夫', '马里', '马耳他', '马绍尔群岛', '毛里塔尼亚', '毛里求斯', '墨西哥', '摩尔多瓦', '摩纳哥', '蒙古', '黑山', '摩洛哥'、'莫桑比克'、'缅甸(缅甸)'、'纳米比亚”、“北马其顿(马其顿)”、“阿曼”、“巴拿马”、“罗马尼亚”、“萨摩亚”、“圣马力诺”、“圣多美”]

print(countries_nth_letter_is('M'))
Output:   [cut off some from original list... ]

[“亚美尼亚”、“柬埔寨”、“喀麦隆”、“科摩罗”、“多米尼克”、“多米尼加共和国”、“冈比亚”、“牙买加”、“纳米比亚”、“罗马尼亚”、“萨摩亚”]


推荐阅读