博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python 学习日记第二篇 -- 列表,元组
阅读量:6250 次
发布时间:2019-06-22

本文共 4059 字,大约阅读时间需要 13 分钟。

一、列表

    列表是一个可以包含所以数据类型的对象的位置有序集合,它是可以改变的。

   1、列表的序列操作(Python3)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
>>> one_list = [1,2,3,4]
>>> two_list = [
"jonny"
,
"jery"
,
"david"
]
#统计元素数量
>>> len(one_list)
4
#索引,根据偏移量,左起从0开始,右起从-1开始
>>> one_list[0]
1
>>> one_list[-1]
4
#切片
>>> one_list[0:2]
[1, 2]
>>> one_list[:-1]
[1, 2, 3]
>>> one_list[1:]
[2, 3, 4]
#步进,默认为1
>>> one_list[::2]
[1, 3]
#扩展进来新的列表
>>> new_list = one_list + two_list
>>> print(new_list)
[1, 2, 3, 4, 
'jonny'
'jery'
'david'
]

   

   2、列表的方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#在列表中加入元素
>>> one_list.append(
"join"
)
>>> print(one_list)
[1, 2, 3, 4, 
'join'
]
 
#查看元素在列表中的偏移量
>>> one_list.index(
'join'
)
4
 
#统计元素在列表中出现的次数
>>> one_list = [1,2,3,4,
"join"
,
"jonny"
,3,4,2,45,32,
"gg"
,45]
>>> one_list.count(3)
2
 
#在列表中指定位置插入元素
>>> one_list.insert(1,
"insert_ele"
)
>>> print(one_list)
[1, 
'insert_ele'
, 2, 3, 4, 
'join'
'jonny'
, 3, 4, 2, 45, 32, 
'gg'
, 45]
 
#移除指定元素
>>> one_list.remove(
"insert_ele"
)
>>> print(one_list)
[1, 2, 3, 4, 
'join'
'jonny'
, 3, 4, 2, 45, 32, 
'gg'
, 45]
 
#通过附加来自可迭代的元素扩展列表(字符串,列表,元组等)
>>> one_list.extend(
"extend"
)
>>> print(one_list)
[1, 2, 3, 4, 
'join'
'jonny'
, 3, 4, 2, 45, 32, 
'gg'
, 45, 
'e'
'x'
't'
'e'
'n'
'd'
]
 
#移除指定偏移量的元素,不指定则为随机移除
>>> one_list = [1,2,3,4]
>>> one_list.pop()
4
>>> one_list.pop(1)
2
>>> print(one_list)
[1, 3]
 
#根据ASCII码排序,python2.X系列可对所有元素排序,3.X系列只能对相同类型元素排序
Python3.6
>>> one_list = [3,6,2,8]
>>> one_list.
sort
()
>>> print(one_list)
[2, 3, 6, 8]
Python2.7
>>> two_list = [3,6,4,7]
>>> two_list.extend(
"djttdkx01"
)
>>> print two_list
[3, 6, 4, 7, 
'd'
'j'
't'
't'
'd'
'k'
'x'
'0'
'1'
]
>>> two_list.
sort
()
>>> print two_list
[3, 4, 6, 7, 
'0'
'1'
'd'
'd'
'j'
'k'
't'
't'
'x'
]
 
#反转列表
>>> two_list.reverse()
>>> print two_list
[
'x'
't'
't'
'k'
'j'
'd'
'd'
'1'
'0'
, 7, 6, 4, 3]
 
#列表的复制方法一:复制第一级,对于嵌套的列表只是复制其引用位置
>>> one_list = [1,2,3,4,[5,6,7,8]]
>>> two_list = one_list[:]
>>> print(two_list)
[1, 2, 3, 4, [5, 6, 7, 8]]
>>> 
id
(one_list)
5697352
>>> 
id
(two_list)
50197576
#列表复制方法二:复制第一级,对于嵌套的列表只是复制其引用位置
>>> three_list = one_list.copy()
>>> print(three_list)
[1, 2, 3, 4, [5, 6, 7, 8]]
>>> 
id
(three_list)
49960008
#列表复制方法三:copy模块的深度复制
>>> 
import 
copy
>>> four_list = copy.deepcopy(one_list)
>>> print(four_list)
[1, 2, 3, 4, [5, 6, 7, 8]]
>>> one_list[4][0] = 55
>>> print(two_list)
[1, 2, 3, 4, [55, 6, 7, 8]]
>>> print(three_list)
[1, 2, 3, 4, [55, 6, 7, 8]]
>>> print(four_list)
[1, 2, 3, 4, [5, 6, 7, 8]]

    3、列表的嵌套

1
2
3
4
5
>>> one_list = [2,3,1,7,[2,
"gg"
,
"david"
],87,98]
>>> one_list[4][1][1]
'g'
>>> one_list[4][2]
'david'

    

    4、列表解析

1
2
3
4
5
6
7
8
>>> one_list = [[1,2,3],[4,5,6],[7,8,9]]
>>> new_list = [row[0] 
for 
row 
in 
one_list]
>>> print(new_list)
[1, 4, 7]
 
>>> two_list = [row[1] % 2 
for 
row 
in 
one_list]
>>> print(two_list)
[0, 1, 0]

   5、练习

1
2
3
4
5
6
7
8
9
10
11
12
13
''
'
练习:找列表中的9替换成9999
同时找出所有的34,全删掉
 
''
'
one_list = [
"jym"
,
"alex"
,9,
"jonny"
,
"sun"
,3,6,7,8,2,3,1,9,34,543,43,32,34,
"gg"
,
"jids"
]
print(one_list)
for 
in 
range(one_list.count(9)):
    
one_list [one_list.index(9)] = 9999
for 
in 
range(one_list.count(34)):
    
del one_list[one_list.index(34)]
 
print(one_list)

二、元组

   元组是不可改变的列表,编写在圆括号中,支持任意类型,任意嵌套等常见操作

   1、元组的序列操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
>>> one_tuple = (1,2,3,4)
#统计元素个数
>>> len(one_tuple)
4
 
#元组附加
>>> two_tuple = one_tuple + (5,6)
>>> print(two_tuple)
(1, 2, 3, 4, 5, 6)
 
#索引
>>> one_tuple[0]
1
>>> one_tuple[-2]
3

   2、元组的方法

1
2
3
4
5
6
7
#查看元素在元组中的偏移量
>>> one_tuple.index(2)
1
 
#统计元素在元组中出现的次数
>>> one_tuple.count(2)
1

   3、元组的嵌套

    元组本身的元素是不可被修改的,但元组中嵌套的字典或列表的元素是可变的。

1
2
3
4
5
6
7
8
9
>>> t1 = (1,2,{
'k1'
:
'v1'
})
>>> t1[2][
'k1'
] = 
'v2'
>>> print(t1)
(1, 2, {
'k1'
'v2'
})
 
>>> t2 = (1,2,[1,2])
>>> t2[2][0] = 
'new1'
>>> print(t2)
(1, 2, [
'new1'
, 2])

   

本文转自 元婴期 51CTO博客,原文链接:http://blog.51cto.com/jiayimeng/1897851

转载地址:http://jvgia.baihongyu.com/

你可能感兴趣的文章
求人不如求己,MySql常见问题解析
查看>>
批处理-映射磁盘驱动
查看>>
理解 QEMU/KVM 和 Ceph(1):QEMU-KVM 和 Ceph RBD 的 缓存机制总结
查看>>
理解 OpenStack 高可用(HA)(5):RabbitMQ HA
查看>>
获取应用的IP,端口等
查看>>
Java平均拆分list
查看>>
UFT开发实例:一个完整的测试框架源码
查看>>
java的元组封装:JTuple
查看>>
我的友情链接
查看>>
Python Virtualenv
查看>>
zimbra mail.TRY_AGAIN
查看>>
域名解析服务(DNS)之bind
查看>>
mybatis xml使用不存在的类
查看>>
服务器机柜和网络机柜的区别
查看>>
我的友情链接
查看>>
saltstack安装配置
查看>>
我的友情链接
查看>>
压缩与解压(rar-linux)
查看>>
jQuery常用函数(一):基础
查看>>
linux fsck命令参数及用法详解
查看>>