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

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

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

obj.sort();

obj2 = sorted(obj1)

>>> 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()可创建一个新集合。

sorted(集合) 能够返回一个列表对象。

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

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]

4、列表的pop操作

>>> a= [2,3,4,1]
>>> a.pop(0)
2
>>> a
[3, 4, 1]
>>> 

posted on 2017-08-10 19:02  ljbguanli  阅读(220)  评论(0编辑  收藏  举报