gpt4 book ai didi

python - 给出了意外的结果集?

转载 作者:行者123 更新时间:2023-12-01 05:31:32 25 4
gpt4 key购买 nike

为什么这个程序给出的输出是 [5,5,5,[1,3,'Hello','Barney']] 而不是 5,5,5

aList=[1,3,"Hello","Barney"] 
bList=[5,5,5]
aList.append(bList)
if(5 in aList):
print(aList)
else:
aList.pop().append(aList)
print(bList)

最佳答案

append bListaList,然后再次将其弹出并将 aList append 到 bList .

以下是逐步发生的事情:

  1. aList.append(bList)bList 作为单个值添加到 aList 中; aList 现在是:

    >>> aList=[1,3,"Hello","Barney"] 
    >>> bList=[5,5,5]
    >>> aList.append(bList)
    >>> aList
    [1, 3, 'Hello', 'Barney', [5, 5, 5]]

    注意嵌套列表; list.append() 将参数添加为目标列表中的单个条目。

  2. 然后测试 5 是否在 aList 中;它不是,它位于一个嵌套列表中:

    >>> 5 in aList
    False
    >>> 5 in aList[-1]
    True
  3. else 分支使用 list.pop() 删除最后一个元素(整个嵌套列表),并 append aList 到它; bList 仍然引用最后一个列表:

    >>> temp = aList.pop()
    >>> temp
    [5, 5, 5]
    >>> temp is bList
    True
    >>> temp.append(aList)
    >>> bList
    [5, 5, 5, [1, 3, 'Hello', 'Barney']]

您可能想扩展 aList,只将 bList元素添加到 aList :

>>> aList=[1,3,"Hello","Barney"] 
>>> bList=[5,5,5]
>>> aList.extend(bList)
>>> aList
[1, 3, 'Hello', 'Barney', 5, 5, 5]

现在 aList 中的 5True,并且 bList 不会受到影响。

关于python - 给出了意外的结果集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20140797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com