详解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

['\xe5\x8d\x9a', '\xe5\xae\xa2', '\xe5\x9b\xad']

  可以使用json模块,参考如下:

# -*- coding: UTF-8 -*-
import json

L1 = ['','','']
L2 = json.dumps(L1,encoding='UTF-8',ensure_ascii=False)

print L1
print L2

['\xe5\x8d\x9a', '\xe5\xae\xa2', '\xe5\x9b\xad']
["", "", ""]

  开始说下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]

posted on 2018-11-15 14:13  testzhangcs  阅读(123)  评论(0编辑  收藏  举报

导航