《head first python》——理解数据:列表排序与集合

1、sort()与sorted()——数据排序

sort() 对数据原地排序,sorted()创建原地副本。用法是:

obj.sort();

obj2 = sorted(obj1)

<pre name="code" class="python">>>> a = [2,7,5,1,9]
>>> b = sort(a)
Traceback (most recent call last):
  File "<pyshell#17>", line 1, in <module>
    b = sort(a)
NameError: name 'sort' is not defined
>>> a.sort()
>>> print a
[1, 2, 5, 7, 9]

>>> a = [2,7,5,1,9]
>>> b = a.sorted()
Traceback (most recent call last):
  File "<pyshell#12>", line 1, in <module>
    b = a.sorted()
AttributeError: 'list' object has no attribute 'sorted'
>>> b = sorted(a)
>>> print a
[2, 7, 5, 1, 9]
>>> print b
[1, 2, 5, 7, 9]

通过传递reverse = True,可以对sort()和sorted()传参,逆序排列。注意True首字母大写。

>>> a = [2,7,5,1,9]
>>> b = sorted(a, reverse = True)
>>> a,b
([2, 7, 5, 1, 9], [9, 7, 5, 2, 1])
>>> a.sort(reverse = True)
>>> a
[9, 7, 5, 2, 1]

2.python集合数据项——删除重复项

python提供了集合数据结构,显著特点是:数据无序,且不允许重复。用set()可创建一个新集合。

>>> m = [1,2,1]
>>> m
[1, 2, 1]
>>> m = {1,2,3,1}
>>> m
set([1, 2, 3])

3.创建新列表的方式——new_list = [ func for item in old_list ]

>>> a = [2,7,5,1,9]
>>> b = [i/2 for i in a]
>>> b
[1, 3, 2, 0, 4]

版权声明:欢迎转载,转载请注明出处http://blog.csdn.net/ztf312/

时间: 2024-10-19 19:30:35

《head first python》——理解数据:列表排序与集合的相关文章

Python 中的列表排序函数

sorted(iterable, cmp=None, key=None, reverse=False) L.sort(cmp=None, key=None, reverse=False) iterable:是可迭代类型;cmp:用于比较的函数,比较什么由key决定,有默认值,迭代集合中的一项;key:用列表元素的某个属性和函数进行作为关键字,有默认值,迭代集合中的一项;reverse:排序规则. reverse = True 或者 reverse = False,有默认值.返回值:是一个经过排序

Python中关于列表排序并保留id

新手才开始写博客,不周之处请原谅,有错误请指针. >>> a = [1,4,2,5,3]>>> b = sorted(enumerate(a),key = lambda x:x[1])>>> b[(0, 1), (2, 2), (4, 3), (1, 4), (3, 5)]>>> b[1](2, 2)>>> b[1][1]2>>> b[1][0]2 关于enumerate()使用方法(copy来的)

转:Python习题之列表排序,4种方法

本文转自TTT周清风,地址:https://www.cnblogs.com/tttzqf/p/9270509.html def sort_list_method_1(a):    return sorted(a) print(sort_list_method_1([1, 4, 2])) def sort_list_method_2(a):    for i in range(len(a)):        m = i        for z in range(i+1, len(a)):    

python 数据类型 变量 列表 元组 字典 集合

Python中,能够直接处理的数据类型有以下几种: 整数 Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等. 计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等. 浮点数 浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是完全相等

python中的列表及numpy数组排序

一.列表排序  # python中对列表排序有sort.sorted两种方法,其中sort是列表内置方法,其帮助文档如下:In [1]: help(sorted) Help on built-in function sorted in module builtins: sorted(iterable, /, *, key=None, reverse=False) Return a new list containing all items from the iterable in ascendi

python之数据运算、字典、列表

常量定义规则:常量意义为不可做更改:常量定义名称为全大写: 如:MYSQL_CONNECTION= '192.168.1.1' pyc:python生成的翻译文件,使计算机能够识别python语言: 列表的语法和使用: 列表参数插入语法:name.insert(2,'minggou') name[1] = "wangminglong" --->修改列表中对应字段的内容: 追加:name.append("alex") 删除:name.remove("m

Python学习——数据排序方法

Python对数据排序又两种方法: 1. 原地排序:采用sort()方法,按照指定的顺序排列数据后用排序后的数据替换原来的数据(原来的顺序丢失),如: >>> data1=[4,2,6,432,78,43,22,896,42,677,12] >>> data1.sort() >>> data1 #原来的顺序被替换 [2, 4, 6, 12, 22, 42, 43, 78, 432, 677, 896] 2. 复制排序:采用sorted()内置函数,按照

python 列表排序方法reverse、sort、sorted基础篇

python语言中的列表排序方法有三个:reverse反转/倒序排序.sort正序排序.sorted可以获取排序后的列表.在更高级列表排序中,后两中方法还可以加入条件参数进行排序. reverse()方法 将列表中元素反转排序,比如下面这样 >>> x = [1,5,2,3,4] >>> x.reverse() >>> x [4, 3, 2, 5, 1] reverse列表反转排序:是把原列表中的元素顺序从左至右的重新存放,而不会对列表中的参数进行排序

【python cookbook】【数据结构与算法】13.通过公共键对字典列表排序

问题:想根据一个或多个字典中的值来对列表排序 解决方案:利用operator模块中的itemgetter()函数对这类结构进行排序是非常简单的. # Sort a list of a dicts on a common key rows = [ {'fname': 'Brian', 'lname': 'Jones', 'uid': 1003}, {'fname': 'David', 'lname': 'Beazley', 'uid': 1002}, {'fname': 'John', 'lnam