Python 我有没有办法用不同的元素循环append函数?

Python 我有没有办法用不同的元素循环append函数?,python,Python,我不确定我的措辞是否正确,因为我不太熟悉编码术语。 有没有一种方法可以让我用列表中的不同元素循环一个append函数? 基本上,我希望在不删除return语句的情况下循环此代码 def create_party(party,candidates): suggested_parties = party suggested_parties.append(candidates[0]) print(suggested_parties)

我不确定我的措辞是否正确,因为我不太熟悉编码术语。 有没有一种方法可以让我用列表中的不同元素循环一个append函数? 基本上,我希望在不删除return语句的情况下循环此代码

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]我希望我说得通。