1 列表
1.1 定义
由一系列按特定顺序排列的元素组成
注意:
- 方括号[]来表示列表,并用逗号来分隔其中的元素
- 是有序集合
- 访问列表的任何元素,只需将元素的位置或索引告知python
- 第一个列表元素的索引为0, 而不是1
- 访问最后一个列表元素,将索引指定为-1,可让Python返回最后一个列表元素
1.2 修改、添加和删除元素
1.2.1 修改
指定列表名和要修改的元素的索引, 再指定该元素的新值。
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
motorcycles[0] = 'ducati'
print(motorcycles)
输出结果:
['honda', 'yamaha', 'suzuki']
['ducati', 'yamaha', 'suzuki']
1.2.2 添加
(1)在列表末尾添加元素
使用方法append(),列表名.append(‘xx’)
(2)在列表中插入
使用方法insert() 可在列表的任何位置添加新元素,列表名.append(索引,值)
1.2.3 删除
(1)使用del
删除的元素在列表中的位置, 可使用del 语句
用法:del 列表名[索引]
(2)使用pop
1)删除列表末尾的元素,并让你能够接着使用它。术语弹出(pop)源自这样的类比:列表就像一个栈,而删除列表末尾的元素相当于弹出栈顶元素
motorcycles = ['honda', 'yamaha', 'suzuki']
popped_motorcycle = motorcycles.pop()
print(popped_motorcycle)
print(motorcycles)
输出:
suzuki
['honda', 'yamaha']
2)使用pop() 来删除列表中任何位置的元素,只需在括号中指定要删除的元素的索引即可
用法:列名.pop(索引)
对于使用del还是pop判断:
从列表中删除一个元素,且不再以任何方式使用它,使用del 语句;如果你要在删除元素后还能继续使用它,就使用方法pop()
(3)根据值删除元素
从列表中删除的值所处的位置。如果你只知道要删除的元素的值,可使用方法remove()
用法:列名.remove(元素)
1.3 组织列表
1.3.1 方法sort() 对列表进行永久性排序
使用sort()方法对列表排序,永久性地修改了列表元素的排列顺序,不能复原
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort()
print(cars)
输出:
['audi', 'bmw', 'subaru', 'toyota']
也可以按字母顺序相反的顺序排列列表元素,只需向sort() 方法传递参数reverse=True 。
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort(reverse=True)
print(cars)
输出:
['toyota', 'subaru', 'bmw', 'audi']
1.3.2 方法sorted()
能够按特定顺序显示列表元素, 同时不影响它们在列表中的原始排列顺序
cars = ['bmw', 'audi', 'toyota', 'subaru']
print(sorted(cars))
print(cars)
输出:
['audi', 'bmw', 'subaru', 'toyota']
['bmw', 'audi', 'toyota', 'subaru']
1.3.3 倒着打印列表
反转列表元素的排列顺序, 可使用方法reverse()
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.reverse()
print(cars)
输出:
['subaru', 'toyota', 'audi', 'bmw']
1.3.4 确定列表的长度
函数len() 可快速获悉列表的长度
cars = ['bmw', 'audi', 'toyota', 'subaru']
print(len(cars))
输出:
4
1.3.5 细节
(1)在访问最后一个列表元素时,可使用索引-1
(2)仅当列表为空时,这种访问最后一个元素的方式[-1]才会导致错误
1.4 切片
处理列表的部分元素
用法:列名[x:y],这里x表示从索引x开始,y表示从索引y的前一个数结束,这里两个数也可以不写,不写则表示从第一个元素到最后一个元素
2 元组
2.1 定义元组
元组看起来犹如列表,但使用圆括号而不是方括号来标识。定义元组后,就可以使用索引来访问其元素,就像访问列表元素一样。
2.2 修改元组变量
元组中的元素是不能被修改,但是可以存储元组变量,也就是通过赋值来改变元组中的值。
3 字典
3.1 使用字典
(1)字典是一系列键—值对 ,每个键都与一个值相关联,使用键来访问与之相关联的值
(2)字典用放在花括号{} 中的一系列键-值对表示
(3)键和值之间用冒号分隔,而键—值对之间用逗号分隔
3.1.1 访问字典中的值
指定字典名和放在方括号内的键,字典名[键]
3.1.2 添加键—值对
要添加键—值对,可依次指定字典名、用方括号括起的键和相关联的值,如下:
alien_0 = {'color': 'green', 'points': 5}
print(alien_0)
alien_0['x_position'] = 0
alien_0['y_position'] = 25
print(alien_0)
输出:
{'color': 'green', 'points': 5}
{'color': 'green', 'points': 5, 'x_position': 0, 'y_position': 25}
3.1.3 修改字典中的值
指定字典名、 用方括号括起的键以及与该键相关联的新值,如下:
alien_0 = {'color': 'green', 'points': 5}
alien_0['color']='yellow'
print(alien_0)
输出:
{'color': 'yellow', 'points': 5}
3.1.4 删除键—值对
del 语句时,必须指定字典名和要删除的键,如下:
lien_0 = {'color': 'green', 'points': 5}
del lien_0['points']
print(lien_0)
输出:
{'color': 'green'}
3.2 遍历字典
3.2.1 遍历所有的键—值对
通过for循环遍历这个字典,方法items()换回一个键-值对列表,如下:
favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
for key,value in favorite_languages.items():
print(key,value)
如下:
jen python
sarah c
edward ruby
phil python
3.2.1 遍历字典中的所有键
通过方法keys()遍历字典中的所有键,keys实际上是换回一个列表,其中包括字典中的所有键
favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
for key in favorite_languages.keys():
print(key)
输出:
jen
sarah
edward
phil
这里遍历字典时,会默认遍历所有的键,所以这里如果去掉方法keys()得到的结果还是一样的
3.2.1 遍历字典中的所有值
通过方法values(),返回一个值列表,而不包含任何键,如下:
favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
for key in set(favorite_languages.values()):
print(key.title())
输出:
Python
C
Ruby
这里对包含重复元素的列表调用set() ,去除掉重复的元素