您的位置:首页 > 编程语言 > Python开发

python学习day09-高级容器操作方法之——列表、元组、集合、字典

2019-03-09 23:28 316 查看

(一)列表
1.1列表的概念:列表是一种存储大量数据的存储模型。
1.2列表的特点:列表具有索引的概念,可以通过索引操作列表中的数据。列表中的数据可以进行添加、删除、修改、查询等操作。

1.3列表的基本操作:

创建列表:       变量名 = [数据1,数据2,……]
获取列表数据:	变量名[索引]
修改列表数据:	变量名[索引] = 值
# 列表的增删改查
list1 = ["a", "b", "c", "d", "e", "f", "g", "h"]
list2 = ["j", "k"]
# **********************************************
# print(list1[3])             # 列表查询
# print(list1.index("a"))     # 列表根据元素查索引位置
# **********************************************
# list1.append("i")           # 列表末尾增加
# print(list1)
# list1.extend(list2)         # 列表末尾追加另一个列表
# print(list1)
# **********************************************
# list1[0] = "A"              # 列表修改
# print(list1)
# list1.insert(1,"B")         # 列表元素插入,需明确插入的索引位置和插入对象
# # print(list1)
# **********************************************
# list1.remove("a")           # 列表删除指定元素
# print(list1)
# list1.pop(0)                # 列表删除,默认不填索引从最后一位删除,pop方法有返回值
# print(list1)
# **********************************************
# list1.reverse()             # 列表反转
# print(list1)
# list1.sort(reverse=True)    # 列表排序,括号默认不填表示从小到大排序
# print(list1)
# print(list1.count("a"))     # 统计字母a出现的次数
print(list1[1:6:2])           # 列表切片
print(list1.clear())          # 列表清除

(二)元组
2.1 元组的概念:元组是一种存储固定数据的存储模型。
2.2 元组的特点:元组具有索引的概念,可以通过索引操作元组中的数据。元组中的数据可以进行查询操作,但不能进行添加、删除、修改操作。

2.3 元组的基本语法:

创建元组:       变量名 = (数据1,数据2,……)
获取元组数据:	变量名[索引]
tuple1 = ("a", "b", "c", "d", "e", "f", "g", "h")
# 注意事项:元组不支持修改,增加,删除
print(tuple1.index("f"))         # 查询某元素的索引位置
print(tuple1.count("d"))         # 统计某元素的个数
print(tuple1[0:6:2])             # 元组的切片
print(tuple1[0])                 # 元组的查询

2.4元组的注意事项

元组中的数据如果是非引用类型数据,不允许修改
元组中的数据如果是引用类型对象,该对象不允许替换,而对象的属性值可以发生改变

2.5元组的特殊应用
**自动组包:**将多个数据赋值给一个变量时,多个数据将包装成一个元组,将元组赋值给变量,该过程称为自动组包。
应用场景1:设置返回值为多个值

return	1,2,3 	等同于 return	(1,2,3)

应用场景2:动态字符串赋值传值方式

print(“坐标%d,%d” % (10,20))

**自动解包:**将元组赋值给多个变量时,如果元组数据的数量与变量的数量相同,元组将被自动拆分成多个值,并赋值给对应变量,该过程称为自动解包。
场景1:多个变量接收返回值

a,b,c = func()      # 等同于 a,b,c = (1,2,3)等同于a,b,c = 1,2,3

场景2:动态字符串赋值取值方式

print(“坐标%d,%d” % (10,20))	  # 将10给第一个%d,将20给第二个%d

(三)集合
3.1 集合的概念:集合是一种存储大量无序不重复数据的存储模型。
3.2 集合的特点:集合没有索引的概念。集合中的数据可以进行添加、删除等操作。
3.3 集合的基本语法

创建集合:			变量名 = {数据1,数据2,……}

3.4 集合的常用操作:

set1 = {"a", "b", "c", "d", "e", "f", "g", "h"}
# set1.add("i")
# print(set1)           # 集合元素增加,add方法

# set1.clear()          # 删除集合所有元素
# set1.pop()
# print(set1)           # 删除集合元素,有返回值,没有索引可以用

# set1.remove("h")      # 集合删除指定元素
# print(set1)

(四)字典
4.1 字典的概念:字典是一种使用“键值对结构”存储数据的存储模型。
4.2 字典的特点:
(1)字典不具有索引的概念,字典使用键key代替索引,可以通过键操作字典中存储的数据值value。
(2)字典可以根据键key进行数据的添加、删除、修改、查询操作。
(3)字典中的键是唯一的
4.3 字典的基本语法

创建字典:			变量名 = {键1:值1,键2:值2,……}
添加数据:			变量名[键] = 值	(字典中没有对应的键)
获取数据:			变量名[键]
修改数据:			变量名[键] = 值	(字典中存在对应的键)

4.4 字典的常用方法:

dict1 = {"a": 1, "b": 2, "c": 3, "d": 4}
dict2 = {"e":5}
# dict1.pop("a")
# print(dict1)             # 集合根据“键”删除指定键值对,返回值是键对应的值

# print(dict1.popitem())   # 默认删除最后一个键值对,返回值是该键值对的元组形式
# print(dict1)

# dict1.clear()            # 清空字典

dict1.update(dict2)
print(dict1)               #  更新字典内容,键存在则更新,不存在则新增

print(dict1.get("b"))      # 通过键获取对应的值

dict1.keys()               # 获取所有键组成的列表
dict1.values()             # 获取所有值组成的列表
dict1.items()              # 获取所有键值对组成的列表

(五)列表、元组、集合之间的转换
列表list转换成元组:tuple(列表对象),转换以后数据不能更改
列表list转换成集合:set(列表对象),列表如果有重复数据转换成集合以后可以去重

元组tuple转换成列表:list(元组对象),转换以后数据可以更改
元组tuple转换成集合:set(元组对象),元组如果有重复数据转换成集合后可以去重

集合set转换成列表:lis 4000 t(集合对象),转换成列表以后,操作方法增多
集合set转换成元组:tuple(集合对象),转换成元组以后,数据不能更改

(六)for循环遍历
6.1 for循环用于对数据存储模型进行访问遍历。

for 变量名 in 列表:
____变量相关操作

(七)range
7.1 range的功能:创建连续的整数
7.2 range使用格式:

格式1:range(m)			生成 0 到 m-1 的整数
格式2:range(m,n)		生成 m 到 n-1 的整数
格式3:range(m,n,s)	生成 m 到 n-1 的整数,整数间隔为s

7.3 range的应用场景
1.配合for循环构造指定次数的循环

for _ in range(..):
____循环执行的代码

2.快速创建由连续的整数作为数据的列表、元组、集合对象

list(range(..))
tuple(range(..))
set(range(..))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: