Python day04——列表、元组、字典
一、列表(List)
列表的定义:
(1)列表(List)是Python中使用最频繁的数据类型,在其它语言中通常叫“数组”。
(2)列表用于存储一串信息。
(3)列表用“[ ]”定义,数据之间用“,”分隔。
(4)列表的索引从0开始。
练习:
(1)定义列表。
例如:定义name_list列表,列表中包含 zhangsan、lisi、wangwu。
name = ["zhangsan", "list", "wangwu", "小王"]
(2)显示列表。
例如:显示name_list列表中的各个名字,print(name_list)
print(name)
(3)知道索引号取值。
例如:显示索引号为2的姓名,print(name_list[2])
print(name[1])
(4)知道值取索引号。
例如:显示lisi的索引号,print(name_list.index("lisi"))
print(name.index("list"))
(5)修改内容。
例如:将lisi修改为zhaoliu, name_list[1]="zhaoliu"
name[1] = "zhaosi"
(6)在列表中增加内容。
append方法:在列表的末尾增加数据,例如:name_list.append("小明")
insert方法:在列表的指定索引位置插入数据,例如,name_list.insert(1,"小红")
extend方法:把其它列表的全部内容插入到当前的列表末尾,
例如:先定义列表 temp_list=["关羽","张飞","赵云","魏延"] name_list.extend(temp_list)
# 增加内容
name.append("zhaoliu")
print(name)
# 插入
name.insert(1, "xiaoming")
print(name)
# 插入内容至列表尾端
temp_name = ["小红", "小刚", "小王", "小李"]
name.extend(temp_name)
print(name)
(7)删除列表中的内容。
remove方法:删除列表中的指定数据。例如:删除name_list列表中的wangwu,name_list.remove("wangwu"),(注:若有多个相同的数据,则删除第一个指定的数据)
pop方法:默认删除列表中的最后一个元素,例如name_list.pop(),也可以指定要删除的元素的索引,例如:name_list.pop(2)
clear方法:清空列表,所有数据清除。
# 删除列表内容
name.remove("zhaosi")
print(name)
# pop方法删除列表最后一个元素,删除指定索引
name.pop()
print(name)
# 删除指定索引
name.pop(1)
print(name)
(8)统计列表的长度(元素的个数),使用len函数。
例如:print(len(name_list))
print(len(name))
(9)统计列表中某个数据出现的次数,使用count方法。
例如:print(name_list.count("wangwu"))
icount = name.count("小王")
print(icount)
(10)列表的升序、降序、逆序。
例如:定义列表score_list = [10, 90, 55, 92, 45, 87, 99, 100, 66, 35, 89, 100]
升序方法。score_list.sort()
降序方法。score_list.sort(reverse=True)
逆序方法。score_list.reverse()
score_list = [10, 90, 55, 92, 78, 90, 24, 78, 62, 19, 84, 100, 39, 57]
print(score_list)
# 升序
score_list.sort()
print(score_list)
# 降序
score_list.sort(reverse=True)
print(score_list)
# 列表反转(逆序)
score_list.reverse()
print(score_list)
结果:
(11)迭代遍历列表。
例如:使用for迭代遍历name_list,并输出。
name_list = ['zhangsan', 'lisi', 'wangwu']for my_name in name_list:print("名字是:%s" % my_name)
二、元组(Tuple)
元组的定义:
(1)元组表示多个元素组成的序列。
(2)元素之间用“,”分隔。(注意:列表也是用","分隔)
(3)元组用"( )"定义。(注意:列表是用“[ ]”定义
(4)元组与列表类似,不同之处在于元组的元素不能进行增、删、改的操作,列表的元素能进行增、删、改的操作。
(5)元组的索引从0开始。(注意:列表的索引也是从0开始)
(6)列表一般存储相同类型的数据,元组可以存储不同类型的数据,元组有特定的应用场景。
元组与列表区别:
元组 | 列表 | |
分隔 | “,” | “,” |
定义 | "( )" |
“[ ]” |
元素 | 不能进行增、删、改 | 能进行增、删、改 |
索引 | 从0开始 | 从0开始 |
存储数据 | 可以是不同类型 | 一般是相同类型 |
有特定的应用场景 |
练习:
(1)定义一个元组student,包含学号1001,姓名zhangsan,年龄18,成绩96.5 。
student = ("1001", "zhangsan", 18, 96.5)
(2)取相应索引的值
print(student[0])
(3)已经知道数据的值,取该数据在元组中的索引号
print(student.index("1001"))
(4)统计相同数据出现的次数
print(student.count("zhangsan"))
(5)统计元组中的元素的个数
print(len(student))
(6)使用for循环遍历元组。(注意:在实际的开发中,除非能确认元组中的数据类型,否则针对元组的循环遍历需求不是很多。)
for stu_info in student:print(stu_info)
由于元组中的数据类型通常是不同的,若要使用格式字符串拼接stu_info变量输出,不方便或者出错。
例如:
for stu_info in student:print("学生的信息是:%d" %stu_info)
(7)格式化字符串和元组
print("学号:%s,姓名:%s,年龄%d,成绩%.1f" %("1001", "zhangsan", 18, 96.5))
可以替换为:
student = ("1001", "zhangsan", 18, 96.5)print("学号:%s,姓名:%s,年龄%d,成绩%.1f" % student)
(8)元组和列表之间的转换:
用list函数把元组转换为列表,用tuple函数把列表转换为元组。
练习:
number = (1,2,3,4,5)print(type(number))num1 = list(number)print(type(num1))
结果:
number =[1,2,3,4,5]print(type(number))num2= tuple(number)print(type(num2))
结果:
三、字典(dictionary)
字典定义:
- 字典用{ }定义。(注意:元组用"( )"定义。列表是用“[ ]”定义)
- 字典使用“键值对”存储数据,键值对之间使用“,”分隔。(注意:最后的键值对后面不需要加",")
- 键(key)是索引,键必须是唯一的;
- 值(value)是数据;
- 键和值之间使用“:”连接;
- 值可以是任何的数据类型,但键只能使用字符串、数字或者元组。
字典(dictionary)和列表的区别:
(1)列表是有序的对象集合
(2)字典是无序的对象集合
练习:
(1)定义一个学生字典。
student01 = {"name":"zhangsan","age":18,"性别":"男","语文":88,"数学":95,"英语":72}
(2)取某个键的值。
(注:使用[],字典[]里面的内容是键,而列表和元组[]里面的内容是索引号。)
print(student01["性别"])
(3)增加/修改。
(注:如果键不存在,则新增键值对。如果键存在,则修改已经存在的键值对。)
student01["学号"] = "20201001"student01["name"] = "lisi"
(4)删除。(使用pop方法删除键)
student01.pop("age")
(5)统计键值对的数量。(使用len函数)
print(len(student01))
(6)合并字典。(注:如果被合并的字典中包含已经存在的键值,则会覆盖原来的键值对)
school_dict = {"学校":"广东88888大学","二级学院":"电信学院"}student01.update(school_dict)print(student01)
(7)清空字典
student01.clear()print(student01)
(8)循环遍历
for i in student01:print("%s是:%s" % (i, student01[i]))
四、列表和字典的应用场景
使用字典的多个键值对存储描述一个物体的相关信息,将多个字典放在一个列表中,对列表进行操作和遍历。
student = [{"name": "张三","sex": "男","phone": "13811111111"},{"name": "李四","sex": "女","phone": "13822222222"},{"name": "王五","sex": "男","phone": "13833333333"}
]
print(student)
# 插入新数据
student.append({"name": "赵六","sex": "女","phone": "13944444444"})
# 删除数据
student.remove({"name": "张三","sex": "男","phone": "13811111111"})
print(student)
# 遍历列表
for i in student:print(i)
# 或者
for i in student:for j in i:print("%s是:%s" % (j, i[j]))print()
Python day04——列表、元组、字典相关推荐
- python中列表 元组 字典 集合的区别
参考文章:python中列表 元组 字典 集合的区别
- Python 字符串/列表/元组/字典之间的相互转换 - Python零基础入门教程
目录 一.字符串 str 与列表 list 1.字符串转列表 2.列表转字符串 二.字符串 str 与字典 dict 1.字符串转字典 2.字典转字符串 三.列表 list 与字典 dict 1.列表 ...
- python入门——列表+元组+字典+集合
列表 列表是最常用的python数据类型,它可以作为一个方括号内的逗号分隔值出现. 列表的数据项不需要具有相同的类型 1.列表嵌套(相当于二维数组) a=["b",'c','d'] ...
- python列表元组字典集合实验心得_python学习小总结(列表、元组、字典、集合、字符串)...
---恢复内容开始--- 一.列表(list) 1.添加 append():追加,在列表末尾添加元素. 列表名.append(添加的元素) extend():扩展,在列表末尾添加元素. 列表名.ext ...
- Python列表,元组,字典的区别
Python列表,元组,字典的区别: 1.元组是不可变的, 而列表.字典是可变的.元组是不可变对象,对象一旦生成,它的值将不能更改:列表是可变对象,对象生成后,可以对其元素进行更改.添加.删除.清空. ...
- python 高级变量类型(列表/元组/字典/字符串)
前言 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) 真 True 非 0 数 -- 非零即真 假 False 0 复数型 ...
- Python基础之day03-字符串,列表,元组,字典
Python基础之day03-字符串,列表,元组,字典 文章目录 Python基础之day03-字符串,列表,元组,字典 一.字符串 二.下标与字符串切片 三.列表 四.元祖 五.字典 六.公用方法 ...
- python_列表——元组——字典——集合
列表--元组--字典--集合: 列表: # 一:基本使用# 1.用途:存放多个值 # 定义方式:[]内以逗号为分隔多个元素,列表内元素无类型限制# l=['a','b','c'] #l=list([' ...
- python怎么把列表变成字典_在Python中将列表转换为字典
在Python中将列表转换为字典 假设我在Python中有一个列表b,其条目方便地映射到字典. 每个偶数元素代表字典的键,以下奇数元素是值 例如, a = ['hello','world','1',' ...
最新文章
- 【算法笔记】竞赛图(有向完全图)(相关题型总结)
- PCA、碎石图、PCA+正确的维度个数、增量PCA(IncrementalPCA)、随机PCA(Randomized PCA)、KernelPCA
- 品牌故事第11期之IBM:连亏168亿都逆袭,蓝色巨人的百年兴衰史
- JavaScript 数组拼接打印_JavaScript 数组方法
- [GO语言基础] 二.编译运行、语法规范、注释转义及API标准库知识普及
- 微软:Vista SP2是最安全的操作系统
- 如何使用Python脚本
- MsSql正反表达式
- 一位00后前端2年经验的成长历程
- 如何不重启热更新线上 Java 代码?
- mysql分库分表 mycat_你们要的MyCat实现MySQL分库分表来了
- c语言ABCDEF前中后序遍历,c语言实现二叉树及前中后序遍历
- 学习笔记-安全-MAC地址攻击
- 如何申请成为企业微信,并成为第三方服务商
- 微服务Spring Boot 整合 Redis 实现好友关注 – Feed流实现推送到粉丝收件箱
- Masonry 比例设置multipliedBy与dividedBy区别
- MySQL 异步查询提高查询速度
- 机器学习实战 决策树(附数据集)
- C语言的for循环转verilog,Verilog for 循环语句
- 二叉树的基本操作的实现