Python入门(中)
简介
Python 是一种通用编程语言,其在科学计算和机器学习领域具有广泛的应用。如果我们打算利用 Python 来执行机器学习,那么对 Python 有一些基本的了解就是至关重要的。本 Python 入门系列体验就是为这样的初学者精心准备的。
本实验包括以下内容:
-
列表
-
列表的定义
-
列表的创建
-
向列表中添加元素
-
删除列表中的元素
-
获取列表中的元素
-
列表的常用操作符
-
列表的其他方法
-
-
元组
-
创建和访问一个元组
-
更新和删除一个元组
-
元组相关的操作符
-
内置方法
-
解压元组
-
-
字符串
-
字符串的定义
-
字符串的切片与拼接
-
字符串的常用内置方法
-
字符串格式化
-
-
字典
-
可变类型与不可变类型
-
字典的定义
-
创建和访问字典
-
字典的内置方法
-
-
集合
-
集合的创建
-
访问集合中的值
-
集合的内置方法
-
集合的转换
-
不可变集合
-
-
序列
-
针对序列的内置函数
-
列表
简单数据类型
-
整型
<class 'int'>
-
浮点型
<class 'float'>
-
布尔型
<class 'bool'>
容器数据类型
-
列表
<class 'list'>
-
元组
<class 'tuple'>
-
字典
<class 'dict'>
-
集合
<class 'set'>
-
字符串
<class 'str'>
1. 列表的定义
列表是有序集合,没有固定大小,能够保存任意数量任意类型的 Python 对象,语法为 [元素1, 元素2, ..., 元素n]
。
-
关键点是「中括号 []」和「逗号 ,」
-
中括号 把所有元素绑在一起
-
逗号 将每个元素一一分开
2. 列表的创建
-
创建一个普通列表
【例子】
1
x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
2
print(x, type(x))
3
# ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'] <class 'list'>
4
5
x = [2, 3, 4, 5, 6, 7]
6
print(x, type(x))
7
# [2, 3, 4, 5, 6, 7] <class 'list'>
['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'] <class 'list'> [2, 3, 4, 5, 6, 7] <class 'list'>
-
利用
range()
创建列表
【例子】
1
x = list(range(10))
2
print(x, type(x))
3
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] <class 'list'>
4
5
x = list(range(1, 11, 2))
6
print(x, type(x))
7
# [1, 3, 5, 7, 9] <class 'list'>
8
9
x = list(range(10, 1, -2))
10
print(x, type(x))
11
# [10, 8, 6, 4, 2] <class 'list'>
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] <class 'list'> [1, 3, 5, 7, 9] <class 'list'> [10, 8, 6, 4, 2] <class 'list'>
-
利用推导式创建列表
【例子】
1
x = [0] * 5
2
print(x, type(x))
3
# [0, 0, 0, 0, 0] <class 'list'>
4
5
x = [0 for i in range(5)]
6
print(x, type(x))
7
# [0, 0, 0, 0, 0] <class 'list'>
8
9
x = [i for i in range(10)]
10
print(x, type(x))
11
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] <class 'list'>
12
13
x = [i for i in range(1, 10, 2)]
14
print(x, type(x))
15
# [1, 3, 5, 7, 9] <class 'list'>
16
17
x = [i for i in range(10, 1, -2)]
18
print(x, type(x))
19
# [10, 8, 6, 4, 2] <class 'list'>
20
21
x = [i ** 2 for i in range(1, 10)]
22
print(x, type(x))
23
# [1, 4, 9, 16, 25, 36, 49, 64, 81] <class 'list'>
24
25
x = [i for i in range(100) if (i % 2) != 0 and (i % 3) == 0]
26
print(x, type(x))
27
28
# [3, 9, 15, 21, 27, 33, 39,
[0, 0, 0, 0, 0] <class 'list'> [0, 0, 0, 0, 0] <class 'list'> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] <class 'list'> [1, 3, 5, 7, 9] <class 'list'> [10, 8, 6, 4, 2] <class 'list'> [1, 4, 9, 16, 25, 36, 49, 64, 81] <class 'list'> [3, 9, 15, 21, 27, 33, 39, 45, 51, 57, 63, 69, 75, 81, 87, 93, 99] <class 'list'>
注意:
由于list的元素可以是任何对象,因此列表中所保存的是对象的指针。即使保存一个简单的[1,2,3]
,也有3个指针和3个整数对象。
x = [a] * 4
操作中,只是创建4个指向list的引用,所以一旦a
改变,x
中4个a
也会随之改变。
【例子】
1
x = [[0] * 3] * 4
2
print(x, type(x))
3
# [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]] <class 'list'>
4
5
x[0][0] = 1
6
print(x, type(x))
7
# [[1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0]] <class 'list'>
8
9
a = [0] * 3
10
x = [a] * 4
11
print(x, type(x))
12
# [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]] <class 'list'>
13
14
x[0][0] = 1
15
print(x, type(x))
16
# [[1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0]] <class 'list'>
[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]] <class 'list'> [[1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0]] <class 'list'> [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]] <class 'list'> [[1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0]] <class 'list'>
-
创建一个混合列表
【例子】
1
mix = [1, 'lsgo', 3.14, [1, 2, 3]]
2
print(mix, type(mix))
3
# [1, 'lsgo', 3.14, [1, 2, 3]] <class 'list'>
[1, 'lsgo', 3.14, [1, 2, 3]] <class 'list'>
-
创建一个空列表
【例子】
1
empty = []
2
print(empty, type(empty)) # [] <class 'list'>