详解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列表的主要内容,如果未能解决你的问题,请参考以下文章

Python代码阅读(第26篇):将列表映射成字典

Python代码阅读(第25篇):将多行字符串拆分成列表

Python代码阅读(第40篇):通过两个列表生成字典

Python代码阅读(第13篇):检测列表中的元素是否都一样

30 段 Python 实用代码

python常用代码