首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >订购带有串行标记的数据集

订购带有串行标记的数据集
EN

Stack Overflow用户
提问于 2013-09-30 16:59:24
回答 1查看 34关注 0票数 0

我有以下数据集:

代码语言:javascript
复制
import random

def get_data():
    data = []
    for a in xrange(10):
        serial_id = random.randint(0, 100)
        node_data = 'data-%d' % (a)
        data.append((serial_id, node_data))
    return data

它给出(嗯,它是随机的,所以ymmv):

代码语言:javascript
复制
[(58, 'data-0'), (37, 'data-1'), (68, 'data-2'), (80, 'data-3'), (89, 'data-4'), (42, 'data-5'), (2, 'data-6'), (90, 'data-7'), (53, 'data-8'), (7, 'data-9')]

我希望对serial_id设置的数据进行排序,实现如下:

代码语言:javascript
复制
def order_data(data):
    ...
    return ordered

订购的地方是:

代码语言:javascript
复制
[(2, 'data-6'), ... , (90, 'data-7')]

做这件事最有效的方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-30 17:00:11

使用sorted

代码语言:javascript
复制
return sorted(data)

或者,如果您不关心修改data,只需使用.sort进行(稍微更有效)就地排序:

代码语言:javascript
复制
data.sort()
return data

元组的比较函数根据它们的第一个元素,然后是它们的第二个元素,对它们进行排序,等等。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19099756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档