我不知道这两件事是如何工作的,以及它们的输出。如果有更好的方法来做同样的工作。

代码 1:

A = []
s = []
for i in range(0,int(input())):
    name = input()
    score = float(input())
    s.append(name)
    s.append(score)
    A.append(s)
    s = []
print(A)

输出 1:
[['firstInput', 23.33],['secondInput',23.33]]

代码 2:
A = []
s = []
for i in range(0,int(input())):
    name = input()
    score = float(input())
    s.append(name)
    s.append(score)
    A.append(s)
    s.clear()
print(A)

输出 2:
[[],[]]

最佳答案

这是预期的列表行为。 Python 使用引用将元素存储在列表中。当您使用 append 时,它只是在 A 中存储对 s 的引用。当您清除列表 s 时,它也会在 A 中显示为空白。如果要对 A 中的 list 进行独立副本,可以使用 copy 方法。

关于python - 在另一个列表中附加一个列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57016009/

10-16 08:37