发布于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黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!