我真的没有找到任何解决方案,因为“交换”,“更改”和“交换”确实是超载的单词。 我仍处于学习和尝试交换“空”一词的开始阶段,而是让它在“ 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"]
任何人都可以提供快速指导吗?
答案 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方式可以做到这一点,但我认为这是您目前的编码水平。