个人主页:黄小黄的博客主页
❤️ 支持我: 点赞 收藏 关注
格言:一步一个脚印才能承接所谓的幸运
本文对 Python 中的高级变量:列表、元组、字典进行了知识总结与讲解。高级变量中的字符串由于内容比较多,博主将放在下篇:
【Python】高级变量通关教程下篇(字符串专题)
为大家讲解,感兴趣的同学可以订阅专栏,或者关注一下我,不错过第一时间的更新。好啦,闲话到此结束,开始高级变量的学习吧~~~
List
列表是 Python
中使用最频繁的数据类型,在其他语言中通常为数组;[ ]
定义,数据之间使用 ,
分隔;0
开始的下面我们来简单定义一个列表,存储三名学生的姓名,代码如下:
students_name = ["黄小黄", "祢豆子", "我妻善逸"]
列表的 查找值 只需要通过索引即可查找,如下代码,结果见注释:
students_name = ["黄小黄", "祢豆子", "我妻善逸"]
students_name[0] # 黄小黄
students_name[1] # 祢豆子
students_name[2] # 我妻善逸
需要注意的是,列表取值不能超过索引的最大值,即列表的长度 - 1,否则会报错
如果需要 查找列表的索引, 则通过 index()
方法实现:
students_name = ["黄小黄", "祢豆子", "我妻善逸"]
students_name.index("黄小黄") # 0
students_name.index("祢豆子") # 1
students_name.index("我妻善逸") # 2
当然,如果传递的数据不在列表中,程序会报错
修改列表数据 只需要通过索引直接修改:
students_name = ["黄小黄", "祢豆子", "我妻善逸"]
# 修改数据
students_name[1] = "大头"
print(students_name) # ['黄小黄', '大头', '我妻善逸']
如果希望 向列表中添加数据,则主要通过如下三个方法实现:
方法名 | 说明 |
---|---|
append(self,object) | 向列表的末尾追加数据 |
insert(self,index,object) | 在列表的指定索引位置插入数据 |
extend(self,iterable) | 将一个列表拼接到列表的末尾 |
代码示例如下:
students_name = [] # 先定义一个空列表
# 添加三条数据
students_name.append("黄小黄")
students_name.append("马小淼")
students_name.append("大头")
print(students_name) # ['黄小黄', '马小淼', '大头']
# 插入数据
students_name.insert(2, "小牛马")
print(students_name) # ['黄小黄', '马小淼', '小牛马', '大头']
# 拼接列表
my_list = ["小鹏", "几何心凉"]
students_name.extend(my_list)
print(students_name) # ['黄小黄', '马小淼', '小牛马', '大头', '小鹏', '几何心凉']
如果希望 从列表中删除数据,则主要通过如下三个方法实现:
方法名 | 说明 |
---|---|
remove(self,object) | 删除列表中指定数据(多次出现则删除第一个,如果没有则报错) |
pop(self,index) | 在不使用参数 index 时,默认删除并返回列表末尾的数据;使用参数 index 可以指定希望删除数据的索引 |
clear(self) | 清空列表 |
代码示例如下:
mylist = ["黄小黄", "祢豆子", "漩涡鸣人", "草帽路飞"]
# 删除指定数据
mylist.remove("黄小黄")
print(mylist) # ['祢豆子', '漩涡鸣人', '草帽路飞']
# 删除末尾数据
mylist.pop()
print(mylist) # ['祢豆子', '漩涡鸣人']
# 清空
mylist.clear()
print(mylist) # []
同时,删除数据也可以通过 del 关键字实现,但是需要注意区别:使用 del 是从内存上删除变量,后续的代码就不能使用这个变量了
mylist = ["黄小黄", "祢豆子", "漩涡鸣人", "草帽路飞"]
del mylist[1]
print(mylist) # ['黄小黄', '漩涡鸣人', '草帽路飞']
del mylist
print(mylist) # NameError: name 'mylist' is not defined
常用的列表统计方法如下表:
方法名 | 说明 |
---|---|
len(list) | 统计列表中的元素种数 |
count(object) | 统计列表中某一数据出现的次数 |
参考代码示例:
mylist = ["黄小黄", "祢豆子", "漩涡鸣人", "草帽路飞", "黄小黄"]
mylist_len = len(mylist)
print("列表的长度(元素个数): %d" % mylist_len) # 5
count = mylist.count("黄小黄")
print("黄小黄 出现的次数: %d" % count) # 2
相关方法如下表:
方法名 | 说明 |
---|---|
sort() | 升序排序 |
sort(reverse = True) | 降序排序 |
reverse() | 反转列表 |
需要注意的是,升序排序对于数字而言是从小到大;对于字符串和字符而言,是字典顺序,比如 a 比 z 小
参考示例代码:
words = ["abc", "Abc", "z", "dbff"]
nums = [9, 8, 4, 2, 2, 3]
# 升序排序
words.sort()
nums.sort()
print(words) # ['Abc', 'abc', 'dbff', 'z']
print(nums) # [2, 2, 3, 4, 8, 9]
# 降序排序
words.sort(reverse=True)
nums.sort(reverse=True)
print(words) # ['z', 'dbff', 'abc', 'Abc']
print(nums) # [9, 8, 4, 3, 2, 2]
# 反转
nums.reverse()
print(nums) # [2, 2, 3, 4, 8, 9]
遍历是指从头到尾依次从列表中获取数据,使用 for
循环就很容易实现,语法基础格式如下:
# for 循环内部使用的变量 in 列表
for name in name_list:
# 循环内部对列表进行的操作
print(name) # 比如打印
示例代码与结果:
student_list = ["黄小黄", "马小淼", "大头", "小牛马"]
# 迭代遍历
for student in student_list:
print(student)
Tuple
元组与列表类似,最大的区别是元组的 元素不能修改,
分隔;( )
定义,索引从 0
开始。示例1️⃣ 创建一个空元组
tuple = ()
示例2️⃣ 创建一个元组
tuple = ("黄小黄", "路飞", "娜美")
元组只包含一个元素时,需要在元素后面加 ,
由于元组中的元素是不可变的,因此 python 提供的元组方法通常为只读,常用的有
index()
和count()
示例代码与结果:
my_tuple = ("黄小黄", "马小淼", "草帽路飞", "黄小黄")
# 读取索引
print(my_tuple.index("马小淼")) # 1
# 统计出现次数
print(my_tuple.count("黄小黄")) # 2
与列表的遍历类似,但是在实际开发中,我们并不常常遍历元组,除非能够确认 元组中元素的数据类型。
# for 循环内部使用的变量 in 元组
for name in name_touple:
# 循环内部对元组进行的操作
print(name) # 比如打印
小结: 在 Python 中可以使用 for 循环遍历所有非数字类型的变量:列表、元组、字符串以及字典
list
函数实现tuple
函数实现参考代码:
temp_tuple = ("黄小黄", "马小淼", "草帽路飞")
my_list = list(temp_tuple)
print(my_list)
print(type(my_list))
my_tuple = tuple(my_list)
print(my_tuple)
print(type(my_tuple))
{}
定义,是 无序的对象集合;,
分隔;key
是索引,值 value
是数据;:
分隔;下面我们来简单定义一个字典,代码如下:
nezuko = {"name": "祢豆子",
"age": 6,
"height": 145,
"phone": 123456789}
⭕️ 通过对列表和元组的学习,想必已经对索引取值已经增添删除数据有了一定的认识,这里直接上代码举例:
1. 查找值
字典的取值同样通过索引的方式来取值,只不过,字典的索引是key。需要注意的是,进行取值操作时,如果指定的key不存在,程序会报错!
nezuko = {"name": "祢豆子",
"age": 6,
"height": 145,
"phone": 123456789}
# 查找值,取值
print(nezuko["name"])
print(nezuko["age"])
print(nezuko["height"])
print(nezuko["phone"])
2. 增添及修改值
在 python 中增添与修改值很简单,只需要使用索引添加或修改。如果key存在,则会修改数据;如果key不存在,则会新增键值对。
nezuko = {"name": "祢豆子",
"age": 6,
"height": 145,
"phone": 123456789}
# 添加
nezuko["性别"] = "女"
# 修改
nezuko["age"] = 3
# 打印
print(nezuko)
3. 删除值与字典
删除有两种方式,使用 pop() 方法指定 key 删除或者使用关键字 del 并指定 key 删除。当然,也可以通过 del 关键字删除字典。
nezuko = {"name": "祢豆子",
"age": 6,
"height": 145,
"phone": 123456789}
# 删除
del nezuko["phone"]
nezuko.pop("height")
print(nezuko)
# 删除字典
del nezuko
print(nezuko)
涉及到的方法一览表:
方法名 | 说明 |
---|---|
len(dict) | 统计字典键值对的数量 |
update(temp_dict) | 将 update_dict 字典与原字典合并,如果被合并的字典包含已经存在的键值对,会覆盖原有的键值对 |
clear() | 清空字典中的所有元素 |
示例代码:
nezuko = {"name": "祢豆子",
"age": 6,
"height": 145,
"phone": 123456789}
# 统计键值对个数
nezuko_count = len(nezuko)
print("字典 nezuko 键值对个数为: %d" % nezuko_count)
# 合并两个字典
nezuko_new = {"性别": "女",
"爱好": "咬竹筒",
"age": 10}
nezuko.update(nezuko_new)
print("合并后" + str(nezuko))
# 清空列表元素
nezuko.clear()
print("清空后: " + str(nezuko))
在实际开发中,字典的遍历需求并不多,因为我们无法确定字典中的每一个键值对保存的数据类型。
遍历语法:
# for 循环内部使用的 key 变量 in 字典名
for k in dict:
# 具体操作
print("%s: %s" % (k, dict[k]))
示例代码及结果:
commodities = {"商品名称": "洗发水",
"价格": "$8.99"}
# 遍历
for k in commodities:
print("%s \t: %s" % (k, commodities[k]))
示例代码与结果:
尝试将物品信息存储为字典,并将所有物品存储到列表中进行遍历修改
commodities_list = [
{"商品名称": "洗发水", "价格": "$8.99"},
{"商品名称": "耳机", "价格": "$78.99"},
{"商品名称": "固态硬盘", "价格": "$99.99"},
]
# 遍历 给所有商品价格增加100 并打印
for commodity in commodities_list:
# 这里使用了 lstrip 对字符串进行了首字符删除 后面会讲 先忽略
commodity["价格"] = "$" + str(float(commodity["价格"].lstrip("$")) + 100)
print(commodity)
以上便是本文的全部内容啦,后续内容将会持续免费更新,如果文章对你有所帮助,麻烦动动小手点个赞 + 关注,非常感谢 ❤️ ❤️ ❤️ !
如果有问题,欢迎私信或者评论区!
共勉:“你间歇性的努力和蒙混过日子,都是对之前努力的清零。”