【python 列表排序方法sort、sorted技巧篇】教程文章相关的互联网学习教程文章

数据结构--排序--直接插入(python)【代码】

。。。 1 def insertSort(nums):2 length = len(nums)3 for i in range(1,length):4 x = nums[i]5 for j in range(i,-1,-1):6 if x < nums[j-1]:7 nums[j] = nums[j-1]8 else:9 break 10 nums[j] = x 11 return nums

pythonic方法按内部列表的最后一项对列表进行排序【代码】

我有这样的清单[[x,y,1],[w,u,4],[m,n,3] ... [p,q,5]]我需要按内部列表的第三个(最后一个)元素对外部列表进行排序,所需的结果是:[[x,y,1],[m,n,3],[w,u,4] ... [p,q,5]]实现这一目标的最佳方法是什么?解决方法: my_list.sort(key=lambda x: x[-1])要么my_list.sort(key=operator.itemgetter(-1))第二种选择稍微快一些.

数据结构--排序--快排and冒泡(python)【代码】

听说大厂面试,限时两分钟写出来快排。。。 闲着没事,写了一下。。。 1 def quickSort(nums,low,high):2 if low < high:3 pivot = partition(nums,low,high)4 quickSort(nums,low,pivot-1)5 quickSort(nums,pivot+1,high)6 return nums7 def partition(nums,low,high):8 pivot = nums[low]9 while low < high: 10 while low < high and nums[high] >= pivot: 11 h...

python – 在不同命名的字段上排序两个不同的模型【代码】

我有两个模型:PostType1,PostType1.class PostType1(models.Model):...created_date = models.DateTimeField(_('created date'), blank=True, null=True)class PostType2(models.Model):...publish_date = models.DateTimeField(_('publish date'), blank=True, null=True)我对以下两个进行了查询:posts_type1 = PostType1.objects.all() posts_type2 = PostType2.objects.all()我知道如何链接它们:posts = chain(posts_type1,p...

基于外部列表中的值对列表进行排序(Python)【代码】

此查询在sorting上与之前的查询有些相关 在哪里,需要对以下列表进行排序, data = [[1,.45,0],[2,.49,2],[3,.98,0],[4,.82,1],[5,.77,1],[6 ,.98,2]] 首先通过内部列表的最后一个成员的值,这样, [[1,.45,0],[3,.98,0],[4,.82,1],[5,.77,1],[2,.49,2],[6 ,. 98,2]] 然后在子列表中排序,即首先使用中间成员作为键,以降序排序,将其最后一个成员排序为“0”,然后将最后一个成员的子列表排序为“1”,依此类推. 现在,我想要根据外部列表中...

Python:如何在未排序的列表中查找大于某个数字的所有项(大数据集)【代码】

尽管如此,其他人也曾提出过类似的问题. here,但他们略有不同,并没有真正解决我的问题,所以我再来一次. 我有N个列表(N> 20,000),每个列表包含M个列表(M> 20,000),方式如下(数据为虚拟):Key1: [ [4,3,1], [5,1,0] ...... [43,21,0 ] ] # List 1 with collection of M smaller lists : : KeyN: [ [5,4,1], [55,1,1] ...... [ 221, 0, 0] ] # Nth list数据未分类.逐个迭代一个阈值列表,比如阈值= [2,3,5,7,8],其中阈值应用于中间元素...

Python排序函数不做任何事情【代码】

我有一个字典,看起来像= {’10’:2.0,’3’:2.0,’7’:1.0,’6’:1.0} 我用:it = iter(sorted(nums.items()))try:while(True):print it.next()except StopIteration:print "\n\n"要打印按键值排序的元素,但它不起作用.我明白了('10', 1.0) ('3', 1.6666666666666667) ('6', 1.0) ('7', 1.0)这不是我想要的.我也尝试了其他一些东西,但那些不起作用..任何想法?解决方法:这是按键将值作为字符串排序(即按字母顺序 – “1”在“3...

python – 多个查询与手动排序一个大型查询(AppEngine NDB)【代码】

对于像这样的模型:class Thing(ndb.Model):visible = ndb.BooleanProperty()made_by = ndb.KeyProperty(kind=User)belongs_to = ndb.KeyProperty(kind=AnotherThing)本质上执行’或’查询,但比较不同的属性,所以我不能使用内置的OR …我想得到所有Thing(属于一个特定的AnotherThing)可见设置为True或可见是False和made_by是当前用户. 对数据存储区要求较低(即财务成本较低): >查询获取所有内容,即:Thing.query(Thing.belongs_to...

python – 如何在字典中对日期字符串进行排序【代码】

如何在特定日期之后获得第一把钥匙? 当date_table变大时,最佳解决方案是什么?def get_first():date_table = {'this is example 1': '01:20 2013-08-07','this is example 2': '11:45 2012-03-23','this is example 3': '19:00 2013-12-01', }certain_date = '12:14 2013-06-23'# TODO: sort, filterprint get_first() >> 'this is example 1'解决方法:您必须排序然后过滤,以及解析结构中的所有日期:from datetime import dateti...

python – 按除法值排序列表【代码】

我正在努力学习Python,我遇到了这样的问题. 我有一个清单:a = [[10,5],[9,3],[16,2],[8,8]]我想获得一个列表,它将按照divion arr [i] [0] / arr [i] [1]的值进行排序.例如,对于列表a(排序后)我希望:a =[[8,8],[10,5],[9,3],[16,2]]我尝试在a.sort中使用lambda(key = lambda …..)但是我失败了. 你能帮我理解它一定是怎么回事吗?解决方法:使用sorted()键,如:>>> a = [[10,5],[9,3],[16,2],[8,8]] >>> sorted(a, key= lambda x: ...

python – 为给定列排序numpy矩阵【代码】

我已经尝试使用Ned Batchelder代码按人类顺序对NumPy矩阵进行排序,因为它在以下帖子中提出: Sort numpy string array with negative numbers? 代码在一维数组上运行,命令为:print (sorted(a, key=natural_keys))现在,我的问题是我的数据是一个10列矩阵,我想根据一列(我们说MyColumn)对它进行排序.我找不到修改代码的方法来打印根据这个列排序的整个矩阵.我能想到的就是:print (sorted(a['MyColumn'], key=natural_keys))但是,当...

python – 按高分排序名称【代码】

我想按照他们的分数对名单进行排序.到目前为止我所拥有的是什么file = open("scores.txt", 'r') for line in file:name = line.strip()print(name) file.close()我不确定如何对它们进行排序. 这是文件内容:Matthew, 13 Luke, 6 John, 3 Bobba, 4我希望输出是什么:John 3 Bobba 4 Luke 6 Matthew 13有人可以帮忙吗?解决方法:您可以使用.split(‘,’)方法将一行拆分为单独的部分,然后使用int()将得分转换为数字. .sort()方法对列表...

Python八大排序(八)——堆排序【代码】【图】

堆排序涉及到的概念 堆排序是利用 堆进行排序的 堆是一种完全二叉树 堆有两种类型: 大根堆 小根堆 两种类型的概念如下: 大根堆:每个结点的值都大于或等于左右孩子结点 小根堆:每个结点的值都小于或等于左右孩子结点 因为比较抽象,所以专门花了两个图表示那么,什么是完全二叉树呢? 完全二叉树 是 一种除了最后一层之外的其他每一层都被完全填充,并且所有结点都保持向左对齐的树,向左对齐指的是:像这样的树就不是完全二叉树...

在python中排序枚举值【代码】

我希望能够安排Enum的订购.有人建议如何解决这个问题? 以下Enum元类正在使用:class EnumMeta(type):def __new__(typ, name, bases, attrs):cls_attrs = {}cls_choices = []for attr_name, value in attrs.items():cls_attrs[attr_name] = attr_name.lower()if not attr_name.startswith("__"):cls_choices.append((attr_name.lower(), value))def choices(cls):return cls_choicesdef values(cls, value=None):if value is None:...

使用Python中的正则表达式对列表进行排序【代码】

我有一个电子邮件地址列表,格式如下: name###@email.com 但这个数字并不总是存在.例如:john45 @ email.com,bob @email.com joe2@email.com等.我想用数字对这些名字进行排序,没有数字的那些名字先排序.我想出了一些有用的东西,但对Python来说是新手,我很好奇是否有更好的方法.这是我的解决方案:import redef sortKey(name):m = re.search(r'(\d+)@', name)return int(m.expand(r'\1')) if m is not None else 0names = [ ... a l...