8_python基础—高级变量类型(字符串、列表、元组、字典、集合)(下)

简介: 8_python基础—高级变量类型(字符串、列表、元组、字典、集合)

二、 列表 list( ),有序(支持下标)可变序列


2.1 列表的定义


List(列表) 是 Python 中使用 最频繁 的数据类型,在其他语言中通常叫做 数组

专门用于存储 一串 信息

列表用 [] 定义,数据 之间使用 , 分隔

列表的 索引 从 0 开始

索引 就是数据在 列表 中的位置编号,索引 又可以被称为 下标


注意:从列表中取值时,如果 超出索引范围,程序会报错


name_list = ["zhangsan", "lisi", "wangwu"]


4b066769b14b4ec08df1d737da03e28b.png



2.2 列表常用操作


  • ipython3 中定义一个 列表,例如:name_list = []
  • 输入 name_list. 按下 TAB 键,ipython 会提示 列表 能够使用的 方法 如下:


In [1]: name_list.
name_list.append   name_list.count    name_list.insert   name_list.reverse
name_list.clear    name_list.extend   name_list.pop      name_list.sort
name_list.copy     name_list.index    name_list.remove 


image.png

image.png

name_list = ['TOM', 'Lily', 'ROSE']
name_list.append([11, 22])
# 结果:['TOM', 'Lily', 'ROSE', [11, 22]]
print(name_list)
# 1. 列表数据可改的 -- 列表可变类型
# 2. append函数追加数据的时候如果数据是一个序列,追加整个序列到列表的结尾
  • extend( ):列表结尾追加数据,如果数据是一个序列,把数据序列里面的数据拆开然后逐一追加到列表的结尾。
name_list = ['TOM', 'Lily', 'ROSE']
# name_list.extend('xiaoming')
name_list.extend(['xiaoming', 'xiaohong'])
# 结果 ['TOM', 'Lily', 'ROSE', 'xiaoming', 'xiaohong']
print(name_list)
# extend() 追加数据是一个序列,把数据序列里面的数据拆开然后逐一追加到列表的结尾


2.2.1 del 关键字(科普)


  • 使用 del 关键字(delete) 同样可以删除列表中元素
  • del 关键字本质上是用来 将一个变量从内存中删除的
  • 如果使用 del 关键字将变量从内存中删除,后续的代码就不能再使用这个变量了


del name_list[1]


在日常开发中,要从列表删除数据,建议 使用列表提供的方法


2.2.2 关键字、函数和方法(科普)


  • 关键字 是 Python 内置的、具有特殊意义的标识符


In [1]: import keyword
In [2]: print(keyword.kwlist)
In [3]: print(len(keyword.kwlist))


关键字后面不需要使用括号


函数 封装了独立功能,可以直接调用


函数名(参数)


函数需要死记硬背


方法 和函数类似,同样是封装了独立的功能


方法 需要通过 对象 来调用,表示针对这个 对象 要做的操作


对象.方法名(参数)


在变量后面输入 .,然后选择针对这个变量要执行的操作,记忆起来比函数要简单很多


2.3 循环遍历


遍历 就是 从头到尾 依次 从 列表 中获取数据


在 循环体内部 针对 每一个元素,执行相同的操作

在 Python 中为了提高列表的遍历效率,专门提供的 迭代 iteration 遍历


使用 for 就能够实现迭代遍历

# for 循环内部使用的变量 in 列表
for name in name_list:
    循环内部针对列表元素进行操作
    print(name)

2.4 列表嵌套


  • 所谓列表嵌套指的就是一个列表里面包含了其他的子列表。
  • 应用场景:要存储班级一、二、三三个班级学生姓名,且每个班级的学生姓名在一个列表。
name_list = [['TOM', 'Lily', 'Rose'], ['张三', '李四', '王五'], ['xiaohong', 'xiaoming', 'xiaolv']]
# 第一步,按下标查找到LiLy所在的列表,['TOM', 'Lily', 'Rose']
print(name_list[0])
# 第二步:从LiLy所在的列表里面,再按下标找到数据LiLy
# Lily
print(name_list[0][1])


2.5 应用场景


  • 尽管 Python列表 中可以 存储不同类型的数据
  • 但是在开发中,更多的应用场景是
  1. 列表 存储相同类型的数据
  2. 通过 迭代遍历,在循环体内部,针对列表中的每一项元素,执行相同的操


三、元组 tuple( ),有序(支持下标)不可变


3.1 元组的定义


Tuple(元组)与列表类似,不同之处在于元组的 元素不能修改

元组 表示多个元素组成的序列

元组 在 Python 开发中,有特定的应用场景

用于存储 一串 信息,数据 之间使用 , 分隔

元组用 () 定义

元组的 索引 从 0 开始

索引 就是数据在 元组 中的位置编号


info_tuple = ("zhangsan", 18, 1.75)


3.1.1 创建空元组


info_tuple = ()


3.1.2 元组中 只包含一个元素 时,需要 在元素后面添加逗号


info_tuple = (50, )


f7757f951e444e14a855eaceb37a9e49.png

3.2 元组常用操作


  • ipython3 中定义一个 元组,例如:info = ()
  • 输入 info. 按下 TAB 键,ipython 会提示 元组 能够使用的函数如下:


info.count  info.index


有关 元组常用操作 可以参照上图练习


3.3 循环遍历


  • 取值 就是从 元组 中获取存储在指定位置的数据
  • 遍历 就是 从头到尾依次元组 中获取数据
# for 循环内部使用的变量 in 元组
for item in info:
    循环内部针对元组元素进行操作
    print(item)


3.4 应用场景


尽管可以使用 for in 遍历 元组

但是在开发中,更多的应用场景是:

函数的 参数 和 返回值,一个函数可以接收 任意多个参数,或者 一次返回多个数据

有关 函数的参数 和 返回值,在后续 函数高级 给大家介绍

格式字符串,格式化字符串后面的 () 本质上就是一个元组

让列表不可以被修改,以保护数据安全


info = ("zhangsan", 18)
print("%s 的年龄是 %d" % info)

3.5 元组和列表之间的转换


  • 使用 list 函数可以把元组转换成列表


list(元组)


  • 使用 tuple 函数可以把列表转换成元组


tuple(列表)


四、字典 dict( ),无序(不支持索引)可变


4.1 字典的定义


dictionary(字典) 是 除列表以外 Python 之中 最灵活 的数据类型

字典同样可以用来 存储多个数据

通常用于存储 描述一个 物体 的相关信息

和列表的区别

列表 是 有序 的对象集合

字典 是 无序 的对象集合

字典用 {} 定义

字典使用 键值对 存储数据,键值对之间使用 , 分隔

键 key 是索引

值 value 是数据

键 和 值 之间使用 : 分隔

键必须是唯一的

值 可以取任何数据类型,但 键 只能使用 字符串、数字或 元

dict1 = {'name': 'Python', 'age': 30}
dict2 = {}
dict3 = dict()
xiaoming = {"name": "小明",
            "age": 18,
            "gender": True,
            "height": 1.75}


ddd7470d255344f9b50f56904a3f64c0.png


4.2 字典常用操作


  • ipython3 中定义一个 字典,例如:xiaoming = {}
  • 输入 xiaoming. 按下 TAB 键,ipython 会提示 字典 能够使用的函数如下:


In [1]: xiaoming.
xiaoming.clear       xiaoming.items       xiaoming.setdefault
xiaoming.copy        xiaoming.keys        xiaoming.update  (合并字典)
xiaoming.fromkeys    xiaoming.pop         xiaoming.values
xiaoming.get         xiaoming.popitem    

image.png


有关 字典 的 常用操作 可以参照上图练习


xiaoming_dict = {"name": "小明"}
# 1. 取值
print(xiaoming_dict["name"])
# 在取值的时候,如果指定的key不存在,程序会报错!
# print(xiaoming_dict["name123"])
# 2. 增加/修改
# 如果key不存在,会新增键值对
xiaoming_dict["age"] = 18
# 如果key存在,会修改已经存在的键值对
xiaoming_dict["name"] = "小小明"
# 3. 删除
xiaoming_dict.pop("name")
# 在删除指定键值对的时候,如果指定的key不存在,程序会报错!
# xiaoming_dict.pop("name123")
print(xiaoming_dict)

4.3 循环遍历


  • 遍历 就是 依次字典 中获取所有键值对


# for 循环内部使用的 `key 的变量` in 字典
for k in xiaoming:
    print("%s: %s" % (k, xiaoming[k]))


提示:在实际开发中,由于字典中每一个键值对保存数据的类型是不同的,所以针对字典的循环遍历需求并不是很多


4.3.1 遍历字典的key

dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
for key in dict1.keys():
    print(key)


name

age

gender


4.3.2 遍历字典的value


dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
for value in dict1.values():
    print(value)


Tom

20


4.3.3 遍历字典的元素


dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
for item in dict1.items():
    print(item)


(‘name’, ‘Tom’)

(‘age’, 20)

(‘gender’, ‘男’)


4.3.4 遍历字典的键值对(拆包)


dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
for key, value in dict1.items():
    print(f'{key} = {value}')


name = Tom

age = 20

gender = 男


4.4 应用场景


  • 尽管可以使用 for in 遍历 字典
  • 但是在开发中,更多的应用场景是:
  • 使用 多个键值对,存储 描述一个 物体 的相关信息 —— 描述更复杂的数据信息
  • 多个字典 放在 一个列表 中,再进行遍历,在循环体内部针对每一个字典进行 相同的处理
card_list = [{"name": "张三",
              "qq": "12345",
              "phone": "110"},
             {"name": "李四",
              "qq": "54321",
              "phone": "10086"}
             ]
for card_info in card_list:
    print(card_info)


{‘name’: ‘张三’, ‘qq’: ‘12345’, ‘phone’: ‘110’}

{‘name’: ‘李四’, ‘qq’: ‘54321’, ‘phone’: ‘10086’}


五、集合 set( ),无序可变(不支持索引),元素唯一


5.1 创建集合


创建集合使用{}set(), 但是如果要创建空集合只能使用set(),因为{}用来创建空字典。

s1 = {10, 20, 30, 40, 50, 50}  
print(s1)  # {40, 10, 50, 20, 30}
s3 = set()
print(s3)     # set()


特点:

集合可以去掉重复数据;

集合数据是无序的,故不支持下标


5.2 集合常见操作方法


image.png

s1 = {10, 20, 30, 40, 50}
print(10 in s1)       # True
print(10 not in s1)   # False 



目录
相关文章
|
27天前
|
Python
【10月更文挑战第6天】「Mac上学Python 11」基础篇5 - 字符串类型详解
本篇将详细介绍Python中的字符串类型及其常见操作,包括字符串的定义、转义字符的使用、字符串的连接与格式化、字符串的重复和切片、不可变性、编码与解码以及常用内置方法等。通过本篇学习,用户将掌握字符串的操作技巧,并能灵活处理文本数据。
50 1
【10月更文挑战第6天】「Mac上学Python 11」基础篇5 - 字符串类型详解
|
25天前
|
自然语言处理 Java 数据处理
【速收藏】python字符串操作,你会几个?
【速收藏】python字符串操作,你会几个?
47 7
|
27天前
|
存储 安全 Serverless
Python学习四:流程控制语句(if-else、while、for),高级数据类型(字符串、列表、元组、字典)的操作
这篇文章主要介绍了Python中的流程控制语句(包括if-else、while、for循环)和高级数据类型(字符串、列表、元组、字典)的操作。
29 0
|
6月前
|
存储 Python
python字典中删除键值的方法
python字典中删除键值的方法
157 0
|
Python
python知识点100篇系列(8)-字典去重复的几种方法
python知识点100篇系列(8)-字典去重复的几种方法
309 1
|
6月前
|
存储 JSON JavaScript
Python字典和JSON字符串相互转化方法
【2月更文挑战第18天】
199 3
|
2月前
|
关系型数据库 MySQL 数据库
Python MySQL查询返回字典类型数据的方法
通过使用 `mysql-connector-python`库并选择 `MySQLCursorDict`作为游标类型,您可以轻松地将MySQL查询结果以字典类型返回。这种方式提高了代码的可读性,使得数据操作更加直观和方便。上述步骤和示例代码展示了如何实现这一功能,希望对您的项目开发有所帮助。
115 4
|
3月前
|
存储 Python 容器
python字典的常用操作方法
python字典的常用操作方法
|
6月前
|
存储 安全 Python
Python 遍历字典的这6种方法,你都掌握了吗
Python提供了多种遍历字典的方法,可以根据实际需要选择合适的方法。无论是需要单独访问键或值,还是同时需要键和值,Python的字典都提供了简单而有效的方式来处理这些需求。
|
5月前
|
Python
Python优雅遍历字典删除元素的方法
本文详细介绍了Python优雅遍历字典删除元素的五种方法,字典推导式是删除字典中元素的最常见且最优雅的方法,因为它清晰、简洁且易于理解。其他方法可能在某些特定情况下有用,但通常不如字典推导式通用或高效。
47 0