列表方法:
append:
在列表末尾追加一个新的对象
例:
a = [1,2,3,5,8,9,6,5,4]
append(10)
a
[1,2,3,5,8,9,6,5,4,10]
count:
统计某个元素在列表中出现的次数
例:
ss = [1,2,3,5,8,9,6,5,4]
ss.count(5)
>>>2
ss.count(4)
>>>1
extend:
在列表的末尾一次性追加另一个序列中的多个值,即用新列表扩展原有的列表
ss=[1,2,3]
ss1=[4,5,6]
ss.extend(ss1)
>>>[1,2,3,4,5,6]
index:
从列表中找出某个值第一个匹配项的索引位置
ss=[‘who’,’are’,’you’,’?’,’?’,’?’]
ss.index(‘?’)
>>>3
insert:
将对象插入到列表中
例:
n = [1,2,3,4,5]
n.insert(3,’four’)
n
>>>[1,2,3,’four’,4,5]
pop:
移除列表中的一个元素,默认是最后一个
例:
p = [1,2,3,4,5]
p.pop()
>>>[1,2,3,4]
p.pop(1)
p
>>>[1,3,4]
remove:
移除列表中的第一个匹配项
例:
r = [‘a’,’b’,’c’,’d’,’c’,’d’]
r.remove(‘d’)
r
>>>[‘a’,’b’,’c’,’c’,’d’]
reverse:
将列表中的元素反向存放
r = [1,2,3]
r.reverse()
r
>>>[3,2,1]
sort:
在原位置对列表进行排序
例:
n = [9,8,6,5,4,8,5,2,7,6,4]
n.sort()
n
>>>[2,4,4,5,5,6,6,7,8,8,9]
***若要实现保留原数据而得到一个排好序的副本,可以进行以下操作
x = [4,5,8,9,4,2,3,8,45,7,6]
y = x[:]
y.sort()
>>>[2, 3, 4, 4, 5, 6, 7, 8, 8, 9,45]
x
>>>[4,5,8,9,4,2,3,8,45,7,6]
x[:] 得到的是x 所有的元素的分片,是很有效率的复制整个列表的方法,若只是简单的把x 赋给 y 是没用的,这样做只会让他们指向同一个列表,而不是复制列表
***另一个获取已排序列表副本的方法是用sorted 函数
例:
x = [4,5,8,9,4,2,3,8,45,7,6]
y = sorted(x)
[2, 3, 4, 4, 5, 6, 7, 8, 8, 9, 45]
x
>>>[4,5,8,9,4,2,3,8,45,7,6]
高级排序:
compare()函数
如果希望按照特定的方式排序(根据 python 的默认排序规则按升序排列,而不是sort函数的默认方式),可以使用 compare(x,y)的形式自定义比较函数,此函数当x < y 时返回负数, x > y 时返回正数, x = y 时返回 0
定义好该函数后,可以提供给sort()方法作为参数了,此处做个简单的例子,以后再详细讲解
例:
cmp(2,1)
>>>1
cmp(1,2)
>>>-1
cmp(1,1)
>>>0
x = [4, 5, 8, 9, 4, 2, 3, 8, 45, 7, 6]
x.sort(cmp)
x
>>>[2, 3, 4, 4, 5, 6, 7, 8, 8, 9, 45]
sort 还有另外两个可选的参数 key reverse
若要使用它们,需要通过名子来指定(即关键字参数)
*参数 key 和 cmp 类似,必须提供一个在排序过程中使用的函数,但是该函数不是直接用来确定对象的大小,而是为每个元素创建一个键,然后根据键来排序。
因此,我们要根据元素的长度进行排序,可以使用len 作为键函数
x = [‘apple’,’bnanan’,’orange’,’pen’]
x.sort(key=len)
x
>>>['pen', 'apple', 'bnanan','orange']
*参数 reverse 是简单的布尔值(True 或False),用来指明是否要进行反射排序
x = [4, 5, 8, 9, 4, 2, 3, 8, 45, 7, 6]
x.sort(reverse=True)
x
>>>[45, 9, 8, 8, 7, 6, 5, 4, 4, 3,2]
至此,就先简单的了解一下,因为是新手学习,肯定会有不妥的地方,高手可以指点一下,请勿打击,给哥点学习的动力,谢谢
本文转自 菜鸟的征程 51CTO博客,原文链接:http://blog.51cto.com/songqinglong/1712087