如何交换python列表中的两个元素?

时间:2018-06-26 17:38:48

标签: python python-3.x

我真的没有找到任何解决方案,因为“交换”,“更改”和“交换”确实是超载的单词。 我仍处于学习和尝试交换“空”一词的开始阶段,而是让它在“ add_city”后面插入参数。

cities = ["Tokio", "empty", "Berlin", "Accra", "empty"]

def add_city(article):
    for article in cities:
        if article == "empty":
            article = cities[1]
            cities.append(article)
            break
print(cities)



add_city("Paris")

所以最后应该打印出来:

["Tokio", "Paris", "Berlin", "Accra", "empty"]

任何人都可以提供快速指导吗?

3 个答案:

答案 0 :(得分:1)

您可以使用索引来做到这一点:

cities = ["Tokio", "empty", "Berlin", "Accra", "empty"]

def add_city(city, cities):
    cities[cities.index('empty')] = city
    print(cities)

add_city("Paris", cities)

索引将返回首次出现的“空”的索引,您只需用传递的城市填写该索引即可。

答案 1 :(得分:1)

在此特定示例中,使用索引可能是一个好主意。使用enumerate()迭代器:

cities = ["Tokio", "empty", "Berlin", "Accra", "empty"]

def add_city(article):
    for idx, elem in enumerate(cities):
        if elem == "empty":
            cities[idx] = article
            #cities.append(article) - not needed
            break #this code will replace the first occurence of "empty"
    return cities

print(add_city("paris"))

将打印出

['Tokio', 'paris', 'Berlin', 'Accra', 'empty']

答案 2 :(得分:0)

如果我准确地阅读了您的帖子,则需要用参数值替换“空”。 查找“空”的位置;在其中填充新的城市名称。

def add_city(city, cities):
    if "empty" in cities:
        cities[cities.index("empty")] = city

还有更多的Python方式可以做到这一点,但我认为这是您目前的编码水平。