我有这样的代码:
Loop that appends player names to a list called playerlist
print(playerlist)
lineuplist.append(playerlist)
print语句最后打印的列表如下所示:
...
['Omer Asik', 'Jordan Farmar', 'Patrick Beverley', 'Kyle Korver', 'Kent Bazemore', 'Pau Gasol', 'Paul Millsap', 'Chandler Parsons', 'Kevin Durant']
['Omer Asik', 'Jordan Farmar', 'Patrick Beverley', 'Kyle Korver', 'Kent Bazemore', 'Serge Ibaka', 'Pau Gasol', 'Kevin Durant', 'Chandler Parsons']
['Omer Asik', 'Jordan Farmar', 'Patrick Beverley', 'Kyle Korver', 'Kent Bazemore', 'Serge Ibaka', 'Pau Gasol', 'Chandler Parsons', 'Kevin Durant']
['Omer Asik', 'Jordan Farmar', 'Patrick Beverley', 'Kyle Korver', 'Kent Bazemore', 'Paul Millsap', 'Pau Gasol', 'Kevin Durant', 'Chandler Parsons']
...
我希望我的输出是这些列表的列表,即:
[['Omer Asik', 'Jordan Farmar', 'Patrick Beverley', 'Kyle Korver', 'Kent Bazemore', 'Pau Gasol', 'Paul Millsap', 'Chandler Parsons', 'Kevin Durant'], ['Omer Asik', 'Jordan Farmar', 'Patrick Beverley', 'Kyle Korver', 'Kent Bazemore', 'Serge Ibaka', 'Pau Gasol', 'Kevin Durant', 'Chandler Parsons'], ['Omer Asik', 'Jordan Farmar', 'Patrick Beverley', 'Kyle Korver', 'Kent Bazemore', 'Serge Ibaka', 'Pau Gasol', 'Chandler Parsons', 'Kevin Durant'], ['Omer Asik', 'Jordan Farmar', 'Patrick Beverley', 'Kyle Korver', 'Kent Bazemore', 'Paul Millsap', 'Pau Gasol', 'Kevin Durant', 'Chandler Parsons']]
然而,我得到的是:
print(lineuplist)
[[], [], [], [], []]
我不太清楚我哪里出错了,所以任何帮助都很感激。你知道吗
列表内容消失的实际问题已经在另一个答案中得到了解决,但是我想指出的是,您可以使您的代码更加简单。你知道吗
如果我理解的代码(现在从问题中删除)正确,你是在寻找球员组合形成一个合法阵容的球队,其综合工资在一定范围内。球队需要一名来自
C
组的球员(队长?),以及PG
、SG
、PF
和SF
组中的每个组中的2个。你知道吗您可以为此使用^{} 模块,特别是^{} 和^{} 。你知道吗
(更新:这将返回嵌套的元组列表,因此需要首先将其展平。你可以用^{} 来做这个。)
结果是一个迭代器,包含所有播放器的组合(整个对象,而不仅仅是名称)。现在,您可以在一个循环中找到满足薪资标准的团队,并提取他们的名称:
当您将列表附加到主列表中时,实际上是将指针附加到原始列表。Python列表是可变的,当您更改它们时,只要有指向它们的指针,就可以更改它们。你知道吗
如果附加它们的副本,可以避免这一问题,但会浪费内存,因此有充分的理由复制它们很重要。你知道吗
下面是这种行为的一个例子:
所以你能做的是:
而不是这样:
相关问题 更多 >
编程相关推荐