加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python:更新元组列表

发布时间:2020-12-16 23:16:11 所属栏目:Python 来源:网络整理
导读:我有一个像这样的元组列表: list = [(1,’q’),(2,’w’),(3,’e’),(4,’r’)] 我试图创建一个更新功能更新(项目,数字),搜索列表中的项目,然后更改数字. 例如,如果我使用更新(w,6),结果将是 list = [(1,'q'),(6,'w'),'e'),'r')] 我试过这段代码,但我有错误
我有一个像这样的元组列表:

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')]

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读