Python 04 之变量【列表,元组,集合,字典,字符串】

简介: Python 04 之变量【列表,元组,集合,字典,字符串】

Python 04 之变量【列表,元组,集合,字典,字符串】

1、变量类型

Python 中数据类型可以分为数字型和⾮数字型 。

1.1 数字型

  • 整型 ( int ) ;
  • 浮点型( float );
  • 布尔型( bool )
  • 真 True ⾮ 0 数 —— ⾮零即真 ;
  • 假 False 0 ;

1.2 非数字型

  • 列表;
  • 元组;
  • 集合;
  • 字典;
  • 字符串。

在 Python 中,所有非数字型变量都⽀持以下特点:

  1. 都是一个序列 ;
  2. 通过 变量名[索引] 方式取值 ;
  3. 通过 for in 遍历
  4. 可以计算⻓度、最⼤和最⼩值 。

2、列表

List (列表) 是 Python 中使⽤最频繁的数据类型,在其他语⾔中通常叫做数组 ,专⻔⽤于存储 一串信息 。

  1. 列表⽤ [] 定义,列表中的数据之间使⽤ , 分隔 ;
  2. 列表的索引从 0 开始 ;
  3. 索引就是数据在列表中的位置编号,索引⼜可以被称为下标

注:

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

代码示例:

# 定义一个列表变量,名字叫 names,有三个元素
names = ["小明", "小红", "小绿"]
# 显示列表第一个元素的值
print(names[0])
# IndexError: list index out of range
# 错误,列表没有[3]这个值 下标从0开始
print(names[3])

我们还可以通过dir()函数查看某类型中定义的方法。

# 定义一个列表变量,名字叫 names,有三个元素
names = ["小明", "小红", "小绿"]
# 通过 dir 函数显示列表所有的方法
print(dir(names))

2.1 列表常用方法

image.png

代码示例:

# 定义一个列表变量,名字叫 names,有三个元素
names = ["小明", "小红", "小绿"]
# 计算小明在数组中出现的次数
print(names.count('小明'))

2.2 循环遍历列表

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

# 定义一个列表变量,名字叫 names,有三个元素
names = ["小明", "小红", "小绿"]
# 循环遍历列表
for i in names:
    print(i)

在 Python 中,可以使⽤ for 循环遍历所有⾮数字型类型的变量,包括:列表、元组、字典以及字符串。

2.3 拆包

拆包就是把一个列表中每个值拆出来, 拆包操作同样适用于元组,集合和字典。

# 定义一个列表变量,名字叫 names,有三个元素
names = ["小明", "小红", "小绿"]
# 通过对列表进行拆包方式获取列表中每个元素的值
a,b,c = names;
print(a,b,c)

2.4 列表推导式

所谓的列表推导式,就是指轻量级的循环创建列表的⽅法 。

1、基本使用

# a 的内容为[3, 5, 7, 9]
a = [x for x in range(3, 10, 2)]
print(a)

2、在推导过程中使⽤if

# a 的内容为[3, 5, 7, 9]
a = [x for x in range(3, 10) if x % 2 != 0]
print(a)

3、公共方法

image.png

公共方法同样适用于元组,集合,字典,字符串等类型

示例:

# 定义一个列表变量,名字叫 names,有三个元素
names = ["小明", "小红", "小绿"]
# 判断列表中是否有小明,有就将其删除
if "小明" in names:
    names.remove("小明")
    # 打印
    print(names)

4、元组

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

示例:

1、元组⽤ () 定义 。

# 定义一个元组,名字叫 names,有三个元素
names = ("小明", "小红", "小绿")
# 打印
print(names)

2、元组只有一个元素时,元素后面需要添加逗号

# 元组只有一个元素时,元素后面需要添加逗号
names = ("小明",)

3、定义元组时, ()可以省略

# 定义元组时, ()可以省略 
names = "小明",

4、 元组只有一个元素,尝试后面加和不加逗号的差别

names = ("小明",)
names2 = ("小明")
print(names)
print(names2)

4.1 元组和列表的差别

共同点:

常用方法都差不多。


for 循环遍历也一样。

不同点:

元组的内容不能修改,所以没有增加、修改、删除相关方法。


列表则相反。

4.2 元祖和列表之间的转换

把列表转化为元组目的是让列表不可以被修改,以保护数据安全 ;

  • 使⽤ list 函数可以把元组转换成列表 ;
  • 使⽤ tuple 函数可以把列表转换成元组 。

示例:

# 定义一个元组,名字叫 names,有三个元素
names = ("小明", "小红", "小绿")
# 将元组转换成列表
names = list(names)
print(names)
# 定义一个列表 名字叫sexs,有三个元素
sexs = ["男", "女", "未知"]
# 将列表转换成元组
sexs = tuple(sexs)
print(sexs)

5、集合

集合用{}定义

# 定义一个空集合 set1
set1 = set()

注:

不能通过 变量名 = {}来创建空集合;

集合和列表的区别:

  • 列表是有序的对象集合 ;
  • 集合是⽆序的对象集合 ;
  • 同一个集合内值不允许重复
# 定义一个集合 
set1set1 = {"小明", 33, 1.75}

集合常⽤操作

Python 04 之变量【列表,元组,集合,字典,字符串】

1、变量类型

Python 中数据类型可以分为数字型和⾮数字型 。

1.1 数字型

  • 整型 ( int ) ;
  • 浮点型( float );
  • 布尔型( bool )
  • 真 True ⾮ 0 数 —— ⾮零即真 ;
  • 假 False 0 ;

1.2 非数字型

  • 列表;
  • 元组;
  • 集合;
  • 字典;
  • 字符串。

在 Python 中,所有非数字型变量都⽀持以下特点:

  1. 都是一个序列 ;
  2. 通过 变量名[索引] 方式取值 ;
  3. 通过 for in 遍历
  4. 可以计算⻓度、最⼤和最⼩值 。

2、列表

List (列表) 是 Python 中使⽤最频繁的数据类型,在其他语⾔中通常叫做数组 ,专⻔⽤于存储 一串信息 。

  1. 列表⽤ [] 定义,列表中的数据之间使⽤ , 分隔 ;
  2. 列表的索引从 0 开始 ;
  3. 索引就是数据在列表中的位置编号,索引⼜可以被称为下标

注:

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

代码示例:

# 定义一个列表变量,名字叫 names,有三个元素
names = ["小明", "小红", "小绿"]
# 显示列表第一个元素的值
print(names[0])
# IndexError: list index out of range
# 错误,列表没有[3]这个值 下标从0开始
print(names[3])

我们还可以通过dir()函数查看某类型中定义的方法。

# 定义一个列表变量,名字叫 names,有三个元素
names = ["小明", "小红", "小绿"]
# 通过 dir 函数显示列表所有的方法
print(dir(names))

2.1 列表常用方法

代码示例:

# 定义一个列表变量,名字叫 names,有三个元素
names = ["小明", "小红", "小绿"]
# 计算小明在数组中出现的次数
print(names.count('小明'))

2.2 循环遍历列表

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

# 定义一个列表变量,名字叫 names,有三个元素
names = ["小明", "小红", "小绿"]
# 循环遍历列表
for i in names:
    print(i)

在 Python 中,可以使⽤ for 循环遍历所有⾮数字型类型的变量,包括:列表、元组、字典以及字符串。

2.3 拆包

拆包就是把一个列表中每个值拆出来, 拆包操作同样适用于元组,集合和字典。

# 定义一个列表变量,名字叫 names,有三个元素
names = ["小明", "小红", "小绿"]
# 通过对列表进行拆包方式获取列表中每个元素的值
a,b,c = names;
print(a,b,c)

2.4 列表推导式

所谓的列表推导式,就是指轻量级的循环创建列表的⽅法 。

1、基本使用

# a 的内容为[3, 5, 7, 9]
a = [x for x in range(3, 10, 2)]
print(a)

2、在推导过程中使⽤if

# a 的内容为[3, 5, 7, 9]
a = [x for x in range(3, 10) if x % 2 != 0]
print(a)

3、公共方法

公共方法同样适用于元组,集合,字典,字符串等类型

示例:

# 定义一个列表变量,名字叫 names,有三个元素
names = ["小明", "小红", "小绿"]
# 判断列表中是否有小明,有就将其删除
if "小明" in names:
    names.remove("小明")
    # 打印
    print(names)

4、元组

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

示例:

1、元组⽤ () 定义 。

# 定义一个元组,名字叫 names,有三个元素
names = ("小明", "小红", "小绿")
# 打印
print(names)

2、元组只有一个元素时,元素后面需要添加逗号

# 元组只有一个元素时,元素后面需要添加逗号
names = ("小明",)

3、定义元组时, ()可以省略

# 定义元组时, ()可以省略 
names = "小明",

4、 元组只有一个元素,尝试后面加和不加逗号的差别

names = ("小明",)
names2 = ("小明")
print(names)
print(names2)

4.1 元组和列表的差别

共同点:

常用方法都差不多。


for 循环遍历也一样。

不同点:

元组的内容不能修改,所以没有增加、修改、删除相关方法。


列表则相反。

4.2 元祖和列表之间的转换

把列表转化为元组目的是让列表不可以被修改,以保护数据安全 ;

  • 使⽤ list 函数可以把元组转换成列表 ;
  • 使⽤ tuple 函数可以把列表转换成元组 。

示例:

# 定义一个元组,名字叫 names,有三个元素
names = ("小明", "小红", "小绿")
# 将元组转换成列表
names = list(names)
print(names)
# 定义一个列表 名字叫sexs,有三个元素
sexs = ["男", "女", "未知"]
# 将列表转换成元组
sexs = tuple(sexs)
print(sexs)

5、集合

集合用{}定义

# 定义一个空集合 set1
set1 = set()

注:

不能通过 变量名 = {}来创建空集合;

集合和列表的区别:

  • 列表是有序的对象集合 ;
  • 集合是⽆序的对象集合 ;
  • 同一个集合内值不允许重复
# 定义一个集合 
set1set1 = {"小明", 33, 1.75}

集合常⽤操作

6、字典

dictionary (字典)通常⽤于存储“键值对” 数据,键与值之间用冒号分隔。

  • 键 key 是索引,同一个字典内,键名不能重复;
  • value 是数据;

字典用{}定义:通过变量名 = {}创建一个空字典

# 定义一个空字典 
dict1 = {}

字典与集合的区别:

  • 集合中只有值 ;
  • 字典是包含键与值的键值对 。
# 定义一个字典,包含三个键值对
dict1 = {"name": "小明", "age": 18, "height": 1.75}

字典常⽤操作

示例:

1、循环遍历字典

# 定义一个字典dict1,包含三个键值对
dict1 = {"name": "小明", "age": 18, "height": 1.75}
# n为键,通过dict1[n]可以得到键对应的值
for n in dict1:
    print("键=%s,值=%s" % (n, str(dict1[n])))

2、循环遍历字典二拆包方式 :字典的 items 方法获取字典中的键值对

items 方法返回包含字典键值对的元组。

# 定义一个字典 dict1,包含三个键值对
dict1 = {"name": "小明", "age": 18, "height": 1.75}
# n 获取 dict1 中的每个键值对
for n in dict1.items():
    print(n)

3、通过对元组拆包的方式获取键和值

# 定义一个字典 dict1,包含三个键值对
dict1 = {"name": "小明", "age": 18, "height": 1.75}
# a 为键,b 为值
for a, b in dict1.items():
    print("键=%s,值=%s" % (a, str(b)))

7、字符串

  1. 字符串就是⼀串字符,是编程语⾔中表示⽂本的数据类型。
  2. 在 Python 中可以使⽤⼀对双引号 " 或者⼀对单引号 ' 定义⼀个字符串。
  3. 虽然可以使⽤ " 或者 ' 做字符串的转义,但是在实际开发中: 如果字符串内部需要使⽤ " ,可以使⽤ ' 定义字符串。
  4. 如果字符串内部需要使⽤ ' ,可以使⽤ " 定义字符串。
  5. 可以使⽤[索引]获取⼀个字符串中指定位置的字符,索引计数从 0 开始

示例:

遍历字符串中每个字符

# 定义一个字符串 str1
str1 = "求个点赞+关注!"
for n in str1:
    print(n)

字符串的常⽤方法

格式化字符串:


  • % 被称为格式化操作符,专⻔⽤于处理字符串中的格式 。
  • 包含 % 的字符串,被称为格式化字符串 。
  • % 和不同的字符连⽤,不同类型的数据需要使⽤不同的格式化字符

语法:

str1 = "姓名:%s, 年龄%d" % ("小明",18)

8、字符串的切片

  1. 切⽚⽅法适⽤于字符串、列表、元组 ;
  2. 切⽚使⽤索引值来限定范围,从⼀个⼤的字符串中切出⼩的字符串 ;
  3. 字符串、列表和元组都是有序的集合,都能够通过[索引]获取到对应的数据 。

1、切片语法:字符串[开始索引:结束索引:步⻓]

str1 = "求个点赞和关注"
s = str1[2:6:1]
print(s)

注:

  1. 指定的区间属于左闭右开型 [开始索引, 结束索引) => 开始索引 >= 范围 < 结束索引从起始位开始,到结束位的前⼀位结束(不包含结束位本身) 。
  2. 从头开始,开始索引数字可以省略,冒号不能省略
  3. 到末尾结束,结束索引数字可以省略,冒号不能省略
  4. 步⻓默认为 1 ,如果连续切⽚,数字和冒号都可以省略

索引的顺序和倒序

在 Python 中不仅⽀持顺序索引,同时还⽀持倒序索引,所谓倒序索引就是从右向左计算索引 。

str1 = "求个点赞和关注"
s = str1[-1]
print(s)

代码示例:

# 截取从 2 ~ 末尾的字符串 定义一个字符串 str1
str1 = "求个关注和点赞"
s = str1[2:]
print(s)
# 截取从开始 ~ 5 位置的字符串 定义一个字符串 str1
str1 = "求个关注和点赞"
s = str1[:6]
print(s)
# 截取完整的字符串 定义一个字符串 str1
str1 = "求个关注和点赞"
s = str1[:]
print(s)
# 字符串的逆序 定义一个字符串 str1
str1 = "求个关注和点赞"
s = str1[::-1]
print(s)

image.png

6、字典

dictionary (字典)通常⽤于存储“键值对” 数据,键与值之间用冒号分隔。

  • 键 key 是索引,同一个字典内,键名不能重复;
  • value 是数据;

字典用{}定义:通过变量名 = {}创建一个空字典

# 定义一个空字典 
dict1 = {}

字典与集合的区别:

  • 集合中只有值 ;
  • 字典是包含键与值的键值对 。
# 定义一个字典,包含三个键值对
dict1 = {"name": "小明", "age": 18, "height": 1.75}

字典常⽤操作

image.png

示例:

1、循环遍历字典

# 定义一个字典dict1,包含三个键值对
dict1 = {"name": "小明", "age": 18, "height": 1.75}
# n为键,通过dict1[n]可以得到键对应的值
for n in dict1:
    print("键=%s,值=%s" % (n, str(dict1[n])))

2、循环遍历字典二拆包方式 :字典的 items 方法获取字典中的键值对

items 方法返回包含字典键值对的元组。

# 定义一个字典 dict1,包含三个键值对
dict1 = {"name": "小明", "age": 18, "height": 1.75}
# n 获取 dict1 中的每个键值对
for n in dict1.items():
    print(n)

3、通过对元组拆包的方式获取键和值

# 定义一个字典 dict1,包含三个键值对
dict1 = {"name": "小明", "age": 18, "height": 1.75}
# a 为键,b 为值
for a, b in dict1.items():
    print("键=%s,值=%s" % (a, str(b)))

7、字符串

  1. 字符串就是⼀串字符,是编程语⾔中表示⽂本的数据类型。
  2. 在 Python 中可以使⽤⼀对双引号 " 或者⼀对单引号 ' 定义⼀个字符串。
  3. 虽然可以使⽤ " 或者 ' 做字符串的转义,但是在实际开发中: 如果字符串内部需要使⽤ " ,可以使⽤ ' 定义字符串。
  4. 如果字符串内部需要使⽤ ' ,可以使⽤ " 定义字符串。
  5. 可以使⽤[索引]获取⼀个字符串中指定位置的字符,索引计数从 0 开始

示例:

遍历字符串中每个字符

# 定义一个字符串 str1
str1 = "求个点赞+关注!"
for n in str1:
    print(n)

字符串的常⽤方法

image.png

格式化字符串:


  • % 被称为格式化操作符,专⻔⽤于处理字符串中的格式 。
  • 包含 % 的字符串,被称为格式化字符串 。
  • % 和不同的字符连⽤,不同类型的数据需要使⽤不同的格式化字符

image.png

语法:

str1 = "姓名:%s, 年龄%d" % ("小明",18)

8、字符串的切片

  1. 切⽚⽅法适⽤于字符串、列表、元组 ;
  2. 切⽚使⽤索引值来限定范围,从⼀个⼤的字符串中切出⼩的字符串 ;
  3. 字符串、列表和元组都是有序的集合,都能够通过[索引]获取到对应的数据 。

1、切片语法:字符串[开始索引:结束索引:步⻓]

str1 = "求个点赞和关注"
s = str1[2:6:1]
print(s)

注:

  1. 指定的区间属于左闭右开型 [开始索引, 结束索引) => 开始索引 >= 范围 < 结束索引从起始位开始,到结束位的前⼀位结束(不包含结束位本身) 。
  2. 从头开始,开始索引数字可以省略,冒号不能省略
  3. 到末尾结束,结束索引数字可以省略,冒号不能省略
  4. 步⻓默认为 1 ,如果连续切⽚,数字和冒号都可以省略

索引的顺序和倒序

在 Python 中不仅⽀持顺序索引,同时还⽀持倒序索引,所谓倒序索引就是从右向左计算索引 。

str1 = "求个点赞和关注"
s = str1[-1]
print(s)

代码示例:

# 截取从 2 ~ 末尾的字符串 定义一个字符串 str1
str1 = "求个关注和点赞"
s = str1[2:]
print(s)
# 截取从开始 ~ 5 位置的字符串 定义一个字符串 str1
str1 = "求个关注和点赞"
s = str1[:6]
print(s)
# 截取完整的字符串 定义一个字符串 str1
str1 = "求个关注和点赞"
s = str1[:]
print(s)
# 字符串的逆序 定义一个字符串 str1
str1 = "求个关注和点赞"
s = str1[::-1]
print(s)
目录
相关文章
|
6天前
|
Python
探索Python中的列表推导式
【10月更文挑战第38天】本文深入探讨了Python中强大而简洁的编程工具——列表推导式。从基础使用到高级技巧,我们将一步步揭示如何利用这个特性来简化代码、提高效率。你将了解到,列表推导式不仅仅是编码的快捷方式,它还能帮助我们以更加Pythonic的方式思考问题。准备好让你的Python代码变得更加优雅和高效了吗?让我们开始吧!
|
19天前
|
Python
SciPy 教程 之 SciPy 模块列表 16
SciPy教程之SciPy模块列表16 - 单位类型。常量模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了力学单位的使用,如牛顿、磅力和千克力等。
15 0
|
19天前
|
JavaScript Python
SciPy 教程 之 SciPy 模块列表 15
SciPy 教程之 SciPy 模块列表 15 - 功率单位。常量模块包含多种单位,如公制、质量、时间等。功率单位中,1 瓦特定义为 1 焦耳/秒,表示每秒转换或耗散的能量速率。示例代码展示了如何使用 `constants` 模块获取马力值(745.6998715822701)。
15 0
|
20天前
|
JavaScript Python
SciPy 教程 之 SciPy 模块列表 15
SciPy教程之SciPy模块列表15:单位类型。常量模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。功率单位以瓦特(W)表示,1W=1J/s。示例代码展示了如何使用`constants`模块获取马力(hp)的值,结果为745.6998715822701。
16 0
|
20天前
|
C语言 Python
探索Python中的列表推导式:简洁而强大的工具
【10月更文挑战第24天】在Python编程的世界中,追求代码的简洁性和可读性是永恒的主题。列表推导式(List Comprehensions)作为Python语言的一个特色功能,提供了一种优雅且高效的方法来创建和处理列表。本文将深入探讨列表推导式的使用场景、语法结构以及如何通过它简化日常编程任务。
|
6月前
|
存储 Python
Python中,集合(Set)
Python中,集合(Set)
48 1
|
6月前
|
存储 索引 Python
Python中的集合(Set)
Python中的集合(Set)
64 3
|
3月前
|
索引 Python 容器
为什么Python中会有集合set类型?
为什么Python中会有集合set类型?
|
3月前
|
Python
python集合类型 (Set Types)
【8月更文挑战第3天】
73 9
|
6月前
|
存储 安全 Java
Python教程第3章 | 集合(List列表、Tuple元组、Dict字典、Set)
Python 列表、无序列表、字典、元组增删改查基本用法和注意事项
101 1