详解Python列表
Posted zhang007
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了详解Python列表相关的知识,希望对你有一定的参考价值。
列表也是python常用的数据类型,属于6个序列的其中一种
序列支持的操作:索引,切片,加,乘,检查成员等,序列也支持确认长度及最大和最小元素的方法,当然这些特性,列表也支持
列表内的数据项,数据类型可以不同,使用方法如下
一、常用方法
访问列表中的值:使用索引来获取,如:
L1 = [1,‘2‘,‘abc‘] print L1[2]
支持分段截取,如:
L1 = [1,‘2‘,‘abc‘] print L1[0:2]
还可以设置步进值,(设置-1可以实现元素倒序)
L1 = [1,‘2‘,‘abc‘] print L1[::-1]
列表更新(增加或删除),增加可以使用append
L1 = [1,‘2‘,‘abc‘] L1.append(‘hello‘)
使用pop()可以弹出一个元素(默认最后一个),当然这种方法不能称为删除,真正的删除方法是del()和remove()
L1 = [1,‘2‘,‘abc‘] L1.append(‘hello‘) L1.pop()
L1 = [1,‘2‘,‘abc‘] L1.append(‘hello‘) del L1[2] print L1
列一个操作符的表格
Python 表达式 | 结果 | 描述 |
---|---|---|
len([1, 2, 3]) | 3 | 长度 |
[1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | 组合 |
[‘Hi!‘] * 4 | [‘Hi!‘, ‘Hi!‘, ‘Hi!‘, ‘Hi!‘] | 重复 |
3 in [1, 2, 3] | True | 元素是否存在于列表中 |
for x in [1, 2, 3]: print x, | 1 2 3 | 迭代 |
二、示例操作
1、新列表扩展原来的列表
L1 = [1,‘2‘,‘abc‘] L2 = [1,3] L1.extend(L2)
2、统计某个元素在列表出现的次数
L1 = [1,‘2‘,‘abc‘] L2 = [1,3] L1.extend(L2) print L1.count(1)
3、指定位置插入某个元素
L1 = [1,‘2‘,‘abc‘] L1.insert(0,0) print L1
4、列表排序(sort-- 原地操作)
L1 = [1,6,4,2,3,5] L1.sort() print L1
5、列表的复制
如L1 与 L1[:]是不同的,对L1[:]的操作不会改变L1的值
L1 = [1,6,4,2,3,5] L2 = L1[:] L2.append(7) print L1 print L2 [1, 6, 4, 2, 3, 5] [1, 6, 4, 2, 3, 5, 7]
如果对L1操作,L1[:]也不会受影响
L1 = [1,6,4,2,3,5] L2 = L1[:] L1.append(7) print L1 print L2 [1, 6, 4, 2, 3, 5, 7] [1, 6, 4, 2, 3, 5]
列表中的汉字无法显示的问题,怎么处理
L1 = [‘博‘,‘客‘,‘园‘] print L1 [‘xe5x8dx9a‘, ‘xe5xaexa2‘, ‘xe5x9bxad‘]
可以使用json模块,参考如下:
# -*- coding: UTF-8 -*- import json L1 = [‘博‘,‘客‘,‘园‘] L2 = json.dumps(L1,encoding=‘UTF-8‘,ensure_ascii=False) print L1 print L2 [‘xe5x8dx9a‘, ‘xe5xaexa2‘, ‘xe5x9bxad‘] ["博", "客", "园"]
开始说下del和remove的区别:remove是删除首个符合条件的元素,不是删除特定的索引,如下:
L1 = [1,2,3,5,2,5,8] L1.remove(2) print L1 [1, 3, 5, 2, 5, 8]
del删除是按照索引来,指定哪个删除哪个
L1 = [1,2,3,5,2,5,8] del(L1[4]) print L1 [1, 2, 3, 5, 5, 8]
以上是关于详解Python列表的主要内容,如果未能解决你的问题,请参考以下文章