Python学习之变量进阶 【集合,字典,字符串】

目录

1、集合

2、字典

3、字符串

4、字符串的切片


1、集合

集合用{}定义

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

注:

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

集合和列表的区别:

  • 列表是有序的对象集合 ;

  • 集合是⽆序的对象集合 ;

  • 同一个集合内值不允许重复

# 定义一个集合 
set1set1 = {"小明", 33, 1.75}

集合常⽤操作

分类方法说明
增加add(值)增加值
删除pop()删除最后一个值
remove(值)删除指定值
clear()清空集合

2、字典

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

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

  • value 是数据;

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

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

字典与集合的区别:

  • 集合中只有值 ;

  • 字典是包含键与值的键值对 。

# 定义一个字典,包含三个键值对
dict1 = {"name": "小明", "age": 18, "height": 1.75}

字典常⽤操作

分类方法说明
增加/修改字典值["键"] = 值如果键存在,代表修改已有键的值 ;如果键不存在,代表新增键值对
删除pop("键")删除指定键
clear()清空字典
得到值字典(”键“)返回指定键的值

示例:

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)

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

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

3、字符串

  1. 字符串就是⼀串字符,是编程语⾔中表示⽂本的数据类型。

  2. 在 Python 中可以使⽤⼀对双引号 " 或者⼀对单引号 ' 定义⼀个字符串。

  3. 虽然可以使⽤ " 或者 ' 做字符串的转义,但是在实际开发中: 如果字符串内部需要使⽤ " ,可以使⽤ ' 定义字符串。

  4. 如果字符串内部需要使⽤ ' ,可以使⽤ " 定义字符串。

  5. 可以使⽤[索引]获取⼀个字符串中指定位置的字符,索引计数从 0 开始

示例:

遍历字符串中每个字符

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

字符串的常⽤方法

分类方法说明
字符串[索引]得到指定索引位置的字符
isalpha()判断字符串是否为文字构成
isdigit()判断字符串是否为数字构成
islower()判断字符串中所有字母是否都为小写
isupper()判断字符串中所有字母是否都为大写
查找和替换find(“子串”)查找子串在字符串中出现的位置,找不到返回 -1
replace(“子串”, ”新子串”)查找子串,并用新的子串替代
count(“子串”)返回子串在字符串中出现的次数
大小写转换upper()将小写字母转化为大写
ower()将大写字母转化为小写
swapcase()将大小写字母反转
去除空格lstrip()去除左侧空格
rstrip()去除右侧空格
strip()去除左右两侧空格
拆分split("子串")根据子串拆分字符串,返回由拆分后字符串组

格式化字符串**:

  • % 被称为格式化操作符,专⻔⽤于处理字符串中的格式 。

  • 包含 % 的字符串,被称为格式化字符串 。

  • % 和不同的字符连⽤,不同类型的数据需要使⽤不同的格式化字符

格式化字符说明
%s字符串
%d有符号十进制整数,%06d 表示输出 6 位整数,不足用 0 补全
%x无符号十六进制整数,%06x 表示输出 6 位整数,不足用 0 补全
%X无符号十六进制整数,用大写字母表达
%f浮点数,%.2f 表示只显示小数点后两位
%%输出%

语法:

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

4、字符串的切片

  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)


版权声明:本文为weixin_53041251原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。