gpt4 book ai didi

python - 在更改其元素之一的同时从现有元组创建新元组?

转载 作者:行者123 更新时间:2023-11-28 21:59:48 26 4
gpt4 key购买 nike

我现在有一个像这样的元组列表:

[('Ben', '5 0 0 0 0 0 0 1 0 1 -3 5 0 0 0 5 5 0 0 0 0 5 0 0 0 0 0 0 0 0 1 3 0 1 0 -5 0 0 5 5 0 5 5 5 0 5 5 0 0 0 5 5 5 5 -5'),
('Moose', '5 5 0 0 0 0 3 0 0 1 0 5 3 0 5 0 3 3 5 0 0 0 0 0 5 0 0 0 0 0 3 5 0 0 0 0 0 5 -3 0 0 0 5 0 0 0 0 0 0 5 5 0 3 0 0'),
...]

它会持续一段时间。

我对 python(和一般编程)相对较新,所以我正在努力弄清楚如何创建一个新的元组,其中修改了每个元组的 item[1] 元素,但修改了 item[0] 元素每个都保持原样。我想要做的就是将每个元组的第二个元素放入所有这些数字的列表中。我试着只是 .split() 它,但元组是不可变的。那么,您将如何解决这个问题?

最终它是一个开始练习的例子。我们正在根据每部电影的评分制作一个非常原始的电影推荐系统,其中每个数字都是人们给出的与电影相对应的评分。

最佳答案

由于元组是不可变的,因此您必须根据旧元组创建新元组:

data = [('Ben', '5 0 0 0 0 0 0 1 0 1 -3 5 0 0 0 5 5 0 0 0 0 5 0 0 0 0 0 0 0 0 1 3 0 1 0 -5 0 0 5 5 0 5 5 5 0 5 5 0 0 0 5 5 5 5 -5'),
('Moose', '5 5 0 0 0 0 3 0 0 1 0 5 3 0 5 0 3 3 5 0 0 0 0 0 5 0 0 0 0 0 3 5 0 0 0 0 0 5 -3 0 0 0 5 0 0 0 0 0 0 5 5 0 3 0 0')]

data = [(name, ratings.split()) for name, ratings in data]

如果你不熟悉列表理解,这等同于

new_data = []
for name, ratings in data:
new_data.append( (name, ratings.split()) )
data = new_data

关于python - 在更改其元素之一的同时从现有元组创建新元组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16022245/

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