您的位置:首页 > 其它

3. list 方法

2015-06-14 09:12 239 查看
列表类似于C++中的vector,C语言中的数组,用于存储顺序结构

创建列表(list)

a=['1','2'] 用[]括起来,表示一个list,中间的各个元素可以是任何类型,用逗号分隔。

列表结构



list函数 拆分字符串成列表

>>>
list('chongshi')

['c', 'h', 'o', 'n', 'g', 's', 'h', 'i']

修改列表:元素赋值

>>> x
=[1,2,3,4]

>>> x[2]=18

>>> x

[1, 2, 18, 4]

删除元素

>>> names = ['zhangsan','lisi','wangwu','sunliu']

>>> del names[2]

>>> names

['zhangsan', 'lisi', 'sunliu']

分片赋值:

>>> name =
list('huzi')

>>> name

['h', 'u', 'z', 'i']

>>> name[2:]=list('dazhi')

>>> name

['h', 'u', 'd', 'a', 'z', 'h', 'i']

name的内容为“huzi” ,从第3个字符(2)开始替换,用“da”替换“zi”并被扩容“zhi”,所以新的name的内容为“hudazhi”。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

列表方法

对象.方法 (参数)

1、append

append方法用于在列表末尾追加新的对象:

>>> abc = [1,2,3]

>>> abc.append(4)

>>> abc

[1, 2, 3, 4]

2、count

count方法统计某个元素在列表中出现的次数:

>>>
['to','be','or','not','to','be',].count('to')

2

>>> x = [[1,2],1,1,[2,1,[1,2]]]

>>> x.count(1)

2

>>> x.count([1,2])

1

3、extend

extend方法可以在列表的末尾一次性追加另一个序列中的多个值。用新列表扩展原有列表:

>>>
a = [1,2,3]

>>> b = [4,5,6]

>>> a.extend(b)

>>> a

[1, 2, 3, 4, 5, 6]

4、index

index 方法用于从列表中找出某个值第一个匹配项的。

>>>
knights = ['We','are','the','kninghts','who','say','ni']

>>> knights.index('who')

4

>>> knights[4]

'who'

5、insert

insert 方法用于将对象插入到列表中:

>>> numbers = [1,2,3,5,6,7]

>>> numbers.insert(3,'four') #插在前面

>>> numbers

[1, 2, 3, 'four', 5, 6, 7]

6、pop

pop 方法会移除列表中一个元素(默认是最后一个),并且返回该元素的值:

>>>
x = [1,2,3]

>>> x.pop()

3

>>> x

[1, 2]

>>> x.pop(0)

1

>>> x

[2]

模拟压栈、出栈

>>>
a=[]

>>> a.append(0) #压栈

>>>
a.append(1)

>>>
a.append(2)

>>>
a

[0, 1, 2]

>>> a.pop() #出栈

2

>>>
a.pop()

1

>>>
a.pop()

0

模拟队列

>>> a.insert(0,0) #入队

>>>
a.insert(0,1)

>>>
a.insert(0,2)

>>>
a

[2, 1, 0]

>>> a.pop() #出队

0

>>>
a.pop()

1

>>>
a.pop()

2

>>>
a

[]

或者:

>>> a.append(0) #入队

>>>
a.append(1)

>>>
a.append(2)

>>>
a

[0, 1, 2]

>>> a.pop(0) #出队

0

>>>
a.pop(0)

1

>>>
a.pop(0)

2

>>>
a

[]

7、remove

remove 方法用于移除列表中某个值的第一个匹配项: #没有返回值,和pop相反

>>>
x = ['to','be','or','not','to','be']

>>> x.remove('be')

>>> x

['to', 'or', 'not', 'to', 'be']

8、reverse

revers方法将列表中的元素反向存放

>>>
x = [1,2,3]

>>> x.reverse()

>>> x

[3, 2, 1]

也可以这样实现:

>>> list(reversed(x))

[3,
2, 1]

9、sort

sort方法用于在原位置对列表进行排序。在“原位置排序”改变原来的列表,从而让其中的元素能按一定的顺序排列(没有返回值)。

>>>
x = [4,6,2,1,7,9]

>>> x.sort()

>>> x

[1, 2, 4, 6, 7, 9]

>>> x = [4,6,2,1,7,9]

>>> y = x #副本排序

>>> y.sort()

>>>
y

[1,
2, 4, 6, 7, 9]

#另外一种副本排序方法

>>>
x = [4,6,2,1,7,9]

>>> y = sorted(x)

>>>
y

[1,
2, 4, 6, 7, 9]

>>>
x

[4,
6, 2, 1, 7, 9]

sorted可用于任何序列

>>>
sorted('python')

['h', 'n',
'o', 'p', 't', 'y']

10、高级排序

list去重: {}.fromkeys(list).keys() list字符排序: list.sort(key=int) list.sort(key=len) #指定排序键类型 list.sort(reverse=True) #反向排序

来自为知笔记(Wiz)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: