如何将一个包含两个变量的列表附加到另一个已包含该列表但值不同的列表?python

2024-09-21 04:31:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我在做编程课程,遇到了一个问题

gamecentre1 = [winnerscore, winner]


organise = []

organise.extend([gamecentre1])

from operator import attrgetter, itemgetter

sorted(organise, key= itemgetter(0))

print(organise)


f = open("gameresults.txt","w")

f.write("Here are the winners of the games: \n")

f.write(str(organise))

f.write("\n")

f.close()

我尝试在一个列表中添加两个变量,然后将该列表添加到另一个列表中。然后,我想根据子列表的整型变量(整数是winnerscore)来组织这个更大的列表。但是,问题是我不能正确地组织它们,而且我担心,因为我必须用相同的变量将同一个列表附加到更大的列表中,而不会覆盖其中现有的列表,因此较大的列表将一遍又一遍地具有相同的值。在

这是因为我想在每次程序运行时存储变量,而不必删除上一个游戏中变量的值。在

我该怎么做?在


Tags: thefromimport列表编程operator课程write
1条回答
网友
1楼 · 发布于 2024-09-21 04:31:09

I'm trying to add two variables to a list, and add that list to another list. Then, I want to organise that larger list based off of the integer variable of the sublist

听起来你想要的是一个嵌套的列表,一个由小列表组成的大列表,这样每个小列表都独立于其他列表。现在代码中阻碍您实现这一点的关键问题是extend()-这实际上是list连接,这不是您想要的。例如

x = [1, 2]
x.extend([3, 4])  # x == [1, 2, 3, 4]

相反,请尝试使用append(),它将其参数添加为列表中的下一个值。例如:

^{pr2}$

现在在上面的例子中,我们有一个列表x,它有两个元素,每个元素本身就是两个元素的列表。现在我们可以把它插入sort

y = sorted(x, key=lambda i: i[0])
print(y)
# [[1, 2], [3, 4]]

lambda i: i[0]实际上只是一种更优雅的方式来处理itemgettr(0)-它是一个小的内联函数,它接受一个参数i,并返回i的第0第个元素。在本例中,传入的i是较小的列表之一)。在

现在你有了一个小列表的排序列表,你可以用它们做任何你需要的事情。在

相关问题 更多 >

    热门问题