Python 我有没有办法用不同的元素循环append函数?
我不确定我的措辞是否正确,因为我不太熟悉编码术语。 有没有一种方法可以让我用列表中的不同元素循环一个append函数? 基本上,我希望在不删除return语句的情况下循环此代码Python 我有没有办法用不同的元素循环append函数?,python,Python,我不确定我的措辞是否正确,因为我不太熟悉编码术语。 有没有一种方法可以让我用列表中的不同元素循环一个append函数? 基本上,我希望在不删除return语句的情况下循环此代码 def create_party(party,candidates): suggested_parties = party suggested_parties.append(candidates[0]) print(suggested_parties)
def create_party(party,candidates):
suggested_parties = party
suggested_parties.append(candidates[0])
print(suggested_parties)
suggested_parties.pop()
suggested_parties.append(candidates[1])
print(suggested_parties)
suggested_parties.pop()
suggested_parties.append(candidates[2])
return suggested_parties
输出应如下所示:
[a,b,c,d,e,f]
[a,b,c,d,e,g]
[a,b,c,d,e,h]
假设
party = [a,b,c,d,e]
candidates[0] is f
candidates[1] is g
candidates[2] is h
您可以像这样使用for循环:
def create_party(party,candidates):
for item in candidates:
print(party + list(item))
这会将原始列表与候选项中的下一项一起打印为一个列表
因此,以下是:
party = ["a", "b", "c", "d", "e"]
candidates = ["1", "2", "3"]
def create_party(party, candidates):
for item in candidates:
print(party + list(item))
create_party(party, candidates)
印刷品:
['a', 'b', 'c', 'd', 'e', '1']
['a', 'b', 'c', 'd', 'e', '2']
['a', 'b', 'c', 'd', 'e', '3']
您可以像这样使用for循环:
def create_party(party,candidates):
for item in candidates:
print(party + list(item))
这会将原始列表与候选项中的下一项一起打印为一个列表
因此,以下是:
party = ["a", "b", "c", "d", "e"]
candidates = ["1", "2", "3"]
def create_party(party, candidates):
for item in candidates:
print(party + list(item))
create_party(party, candidates)
印刷品:
['a', 'b', 'c', 'd', 'e', '1']
['a', 'b', 'c', 'd', 'e', '2']
['a', 'b', 'c', 'd', 'e', '3']
对循环使用
def create_party(party,candidates):
for candidate in candidates[:-1]:
party.append(candidate)
print(party)
party.pop()
party.append(candidates[-1])
return party
无需创建新变量建议方
,您可以使用相同的方
变量
由于您不想打印返回的列表,因此循环将迭代候选对象列表中不包含最后一个元素的部分。然后它追加最后一个元素并返回该元素。使用for
循环
def create_party(party,candidates):
for candidate in candidates[:-1]:
party.append(candidate)
print(party)
party.pop()
party.append(candidates[-1])
return party
无需创建新变量建议方
,您可以使用相同的方
变量
由于您不想打印返回的列表,因此循环将迭代候选对象列表中不包含最后一个元素的部分。然后它追加最后一个元素并返回该元素。使用append和pop是绝对冗余的。既然您要返回party,那么这不会创建4个列表,其中3和4是相同的列表吗?我想知道在不删除返回语句的情况下是否只能打印3个列表。@我知道,我只是在向OP演示如何执行与问题中的代码相同的操作,但使用循环。@Moyk这不会创建任何列表append()
和pop()
只需修改现有的列表。@Barmar我的意思是使用return语句,输出看起来像[a,b,c,d,e,f][a,b,c,d,e,g][a,b,c,d,e,h][a,b,c,d,e,h]我问这个问题的原因是因为我想找到一种在不删除return语句的情况下循环代码的方法。这就是为什么在我的原始代码(帖子上的代码)中,有两个print和一个return来获得这样的输出:[a,b,c,d,e,f][a,b,c,d,e,g][a,b,c,d,d,e,h]我希望我说得通。使用append和pop是绝对冗余的,这不会创建4个列表,3和4是同一个列表,因为你要返回派对?我想知道在不删除返回语句的情况下是否只能打印3个列表。@我知道,我只是在向OP演示如何执行与问题中的代码相同的操作,但使用循环。@Moyk这不会创建任何列表append()
和pop()
只需修改现有的列表。@Barmar我的意思是使用return语句,输出看起来像[a,b,c,d,e,f][a,b,c,d,e,g][a,b,c,d,e,h][a,b,c,d,e,h]我问这个问题的原因是因为我想找到一种在不删除return语句的情况下循环代码的方法。这就是为什么在我的原始代码(帖子上的代码)中,有两个print和一个return来获得如下输出:[a,b,c,d,e,f][a,b,c,d,e,g][a,b,c,d,d,e,h]我希望我说得通。