Python:更新元组列表

前端之家收集整理的这篇文章主要介绍了Python:更新元组列表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个像这样的元组列表:

list = [(1,’q’),(2,’w’),(3,’e’),(4,’r’)]

我试图创建一个更新功能更新(项目,数字),搜索列表中的项目,然后更改数字.

例如,如果我使用更新(w,6),结果将是

list =   [(1,'q'),(6,'w'),'e'),'r')]

我试过这段代码,但我有错误

if item in heap:
        heap.remove(item)
        Pushheap(item,num)
    else:
        Pushheap(item,num)

Pushheap是一个将元组推入堆中的函数
有任何想法吗?

解决方法

您可以直接扫描列表中查找带有所需字母的元组并替换整个元组(您无法修改元组),在找到所需项目后突破循环.例如,
lst = [(1,'r')]

def update(item,num):
    for i,t in enumerate(lst):
        if t[1] == item:
            lst[i] = num,item
            break

update('w',6)
print(lst)

产量

[(1,'r')]

但是,您应该认真考虑使用字典而不是元组列表.搜索字典比在列表上进行线性扫描要有效得多.

猜你在找的Python相关文章