吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1253|回复: 4
收起左侧

[求助] python如何快速索引列表?

[复制链接]
netspirit 发表于 2022-10-29 18:15
本帖最后由 netspirit 于 2022-10-29 22:13 编辑

假设我有一个大列表,里面有很多个小列表或者小字典,每个小列表或者字典里面有多项数据。
比如每一个小列表里面是[名字,数据1,数据2,数据3]
或者每一个小字典里面是{'名字':名字,"数据1":数据1,"数据2":数据2,'数据3':数据3}

现在我需要从这个大列表里面寻找指定的小列表很多次。而且不只是根据名字,也根据数据1,数据2,数据3
比如
[Python] 纯文本查看 复制代码
def get_item_from_list1(list1,name):
    for i in list1:
        if name in i:
            return i
    else:
        raise ValueError('找不到该项目')


但是每一次索引列表都要遍历一次效率很低
尤其是数据量大的时候 跑一次脚本都需要很久的

如何才能进行索引呢?

额外说一下,列表里面的数据是有顺序的,要保持顺序。而且最好支持使用任意一个数据来取值而不是只能根据名字来取值的。

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

leonrein 发表于 2022-10-29 19:14
重构大列表吧, 把内容存到字典里, 树或哈希表查起来快

免费评分

参与人数 1热心值 +1 收起 理由
netspirit + 1 谢谢@Thanks!那只能根据名字来提取项目?

查看全部评分

xiaoran1431 发表于 2022-10-29 20:03
树或哈希表查起来快

免费评分

参与人数 1热心值 +1 收起 理由
netspirit + 1 谢谢@Thanks!那只能根据名字来提取项目?具体怎么操作?

查看全部评分

YuanFang0w0 发表于 2022-10-29 22:02
列表直接索引得知道索引值,不然只能遍历。还是应该存成字典之类的。

免费评分

参与人数 1热心值 +1 收起 理由
netspirit + 1 谢谢@Thanks!那只能根据名字来提取项目?而且我还希望保持顺序!

查看全部评分

thepoy 发表于 2022-10-30 08:38
Python3现在的字典好像就是有序的,顺序与插入字典的顺序。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 07:31

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表