程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

Python-使用哪种数据结构?

发布于2019-11-09 13:14     阅读(630)     评论(0)     点赞(30)     收藏(4)


我有大量的数值数据,我需要按照排序顺序对值进行排序,插入和前后移动。我以前使用的是简单数组。现在,每个值都必须与一个ID(唯一的int,随行而行)链接。

我可以扩展数组类,还是需要使用元组列表?我最好的选择是什么?


解决方案


您可以只使用一个列表,以便进行排序。如果要关联其他数据,则可以使用元组来存储数据,甚至可以为其创建一个自定义对象,以将ID存储在其他字段中。

您不需要为此扩展列表,只需将任何对象放入列表即可。例如,这很容易实现:

>>> lst = [ ( 132, 'foobar' ), ( 58, 'other value' ) ]
>>> lst.append( ( 70, 'some data value' ) )
>>> lst
[(132, 'foobar'), (58, 'other value'), (70, 'some data value')]
>>> lst.sort( key=lambda x: x[0] )
>>> lst
[(58, 'other value'), (70, 'some data value'), (132, 'foobar')]
>>> lst.sort( key=lambda x: x[1] )
>>> lst
[(132, 'foobar'), (58, 'other value'), (70, 'some data value')]

编辑:

如果您使用的是Python 3.1+,则也可以使用该collections.OrderedDict类型。这是对法线的扩展,该法线dict可以像维护法线一样保持顺序list



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/148993/a99260613dc492059ec4/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

30 0
收藏该文
已收藏

评论内容:(最多支持255个字符)