下面是我的集合的一个例子,我想更新它:
>>> x = set()
>>> x.add(('A1760ulorenaf0821x151031175821564', 1, 0))
>>> x
set([('A1760ulorenaf0821x151031175821564', 1, 0)])
我的预期结果是:
^{pr2}$
我怎么做?集合是最好的选择,还是我必须使用另一种数据结构?我认为set
中的update方法可以做到这一点。但是,我犯了一个错误,这不是一个好的解决方案,因为它没有将第一个参数视为键并重复元素。在
Tags:
您必须从集合中移除元素,并添加一个更新了该值的新元素。这是因为集合使用散列来有效地消除重复。如果允许直接改变元素,你会破坏这个模型。在
我想您只希望第一个元素是唯一的,并跟踪与第一个元素相关的一些数据。如果是这样的话,您希望改用字典;使用第一个元素作为键来映射到其他两个值,在列表中可以方便地更改:
字典中的键也必须是唯一的。在
请注意,
set.update()
只给您一个union操作;通过添加集合中不存在的参数中的所有元素,可以就地更新集合。set.update()
不能改变集合中已有的元素,因为集合中的元素不应该被改变(或者至少不能改变它们的哈希和相等性)。在如果您试图拥有键和值,并且希望根据键进行更新,则最好使用
dict
:相关问题 更多 >
编程相关推荐