【Python】高级变量通关教程下篇(字符串与切片专题详解)(下)

简介: 文章目录前言1 字符串说明2 字符串的常见操作2.1 字符串中的常见方法总览2.2 字符串的长度、次数与位置统计2.3 判断字符串2.4 字符串的查找和替换2.5 去除字符串中的空白字符2.6 字符串的拆分和拼接3 切片3.1 切片的概念与说明3.2 切片的使用——以字符串为例4 本文配套练习题*4.1 练习一4.2 练习二

在示例中,将 mystr 字符串按照空格进行了切分,返回的列表使用了 mylist 接收。 而后,使用空格作为分隔符将 mylist 列表中的元素以字符串表示的形式拼接成了个字符串 mystr_temp。


需要注意的是,如果不指定 split 的参数,其默认以空白字符分隔,比如空格、\t等,示例如下代码:

mystr = '哈 利 波 特 的 魔 法\n世\t界'
mylist = mystr.split()
print(mylist)  # ['哈', '利', '波', '特', '的', '魔', '法', '世', '界']


3 切片

3.1 切片的概念与说明

🆔 简介:

切片 方法适用于 字符串、列表、元组;

切片 使用 索引值 来限定范围;

列表 和 元组 都是 有序 的集合,都能通过 索引值 获取对应的数据,因此可以使用切片;

为了方便使用,Python 提供了倒序索引,具体见下图:



📖 语法如下:


字符串名/列表名/元组名[开始索引:结束索引:步长]
1

🅰️ 注意点:


指定的区间属于左闭右开型;

如果是从头开始,则开始索引可以省略,冒号不能省略;

如果是到末尾结束,则结束索引可以省略,冒号不能省略;

步长可以省略,默认为1。

需要特别注意的是,如果倒序遍历,记得修改步长为负数


3.2 切片的使用——以字符串为例

str = '我是黄小黄同学'
1

🐱 1.截取从 2 ~ 5 位置的字符串,截取 2 ~ 末尾的字符串:

str = '我是黄小黄同学'
print(str[2:6])  # 黄小黄同
print(str[2:])  # 黄小黄同学
1
2
3

🐱 2.截取完整的字符串


str = '我是黄小黄同学'
print(str[:])  # 我是黄小黄同学
1
2

🐱 3.截取完整的字符串,每两个取一个(隔一个取一个)


str = '我是黄小黄同学'
print(str[::2])  # 我黄黄学
1

🐱 4.截取字符串,不包含最后一个元素

str = '我是黄小黄同学'
print(str[:-1])  # 我是黄小黄同
1
2

🐱 5.截取末尾两个字符


str = '我是黄小黄同学'
print(str[-2:])  # 同学
1
2

🐱 6.利用切片求字符串的逆序

将步长设置为-1即可,列举两种方式


str = '我是黄小黄同学'
print(str[::-1])  # 学同黄小黄是我
print(str[-1::-1])  # 学同黄小黄是我
1
2
3

以下为错误示范

str = '我是黄小黄同学'
print(str[0::-1])  # 我

4 本文配套练习题*

4.1 练习一

假设有一段英文,其中有单词中间的字母i被误写为I,请编写程序进行纠正


⌨️ 代码示例:


思路见注释!!!

# 先接收一段英文
message = input("Please enter: ")
# 先将接收的字符串进行判断,所有的 I 改成 i
message = message.replace('I', 'i')
# 对英文句子的首字母大写
message = message.capitalize()
# 输出修改后的结果
print(message)


🍑 结果:


4.2 练习二

有一段英文文本,其中有单词连续重复了两次,编写程序检查重复单词并只保留一个。例如,文本内容为“This is is a dask.”,程序输出为“This is a desk.”。


⌨️ 代码示例:


思路见注释!!!

# 先接收一个句子,以空格为分隔符转成列表接收
message = input('Please enter a sentence: ').split(' ')
result = ''  # 接收结果
# 先加入第一个单词
result += message[0]
# 逐个判断单词是否重复,重复则不添加到结果result
for item in range(1, len(message)):
    if message[item] == message[item-1]:
        continue
    else:
        result += ' ' + message[item]
# 输出结果
print(result)


🍑 结果:

相关文章
|
2天前
|
运维 Shell Python
Shell和Python学习教程总结
Shell和Python学习教程总结
|
3天前
|
存储 Python
Python变量类型
Python变量类型
8 0
|
3天前
|
Python
Python 字符串格式化指南
本文介绍了Python中的三种字符串格式化方法:1) 使用 `%` 操作符,如 `%s` 和 `%d`;2) `str.format()` 方法,通过 `{}` 占位符插入变量;3) Python 3.6 引入的 f-strings,直接在字符串内嵌入变量。此外,还提到了高级用法,如格式控制(如指定小数位数)。这些方法有助于更有效地处理和格式化字符串输出。
5 0
|
3天前
|
存储 Python
Python的变量与数据类型详解
Python的变量与数据类型详解
11 0
|
8天前
|
索引 Python
Python高维变量选择:SCAD平滑剪切绝对偏差惩罚、Lasso惩罚函数比较
Python高维变量选择:SCAD平滑剪切绝对偏差惩罚、Lasso惩罚函数比较
10 0
|
10天前
|
Python
python学习-函数模块,数据结构,字符串和列表(下)
python学习-函数模块,数据结构,字符串和列表
53 0
|
10天前
05-python之函数-函数的定义/函数的参数/函数返回值/函数说明文档/函数的嵌套使用/函数变量的作用域
05-python之函数-函数的定义/函数的参数/函数返回值/函数说明文档/函数的嵌套使用/函数变量的作用域
|
11天前
|
数据采集 Python
python学习9-字符串
python学习9-字符串
|
1月前
|
存储 开发者 索引
python怎么判断变量的数据类型
python怎么判断变量的数据类型
29 0
|
4月前
|
人工智能 Java Python
python入门(三) 基础用法变量+数据类型+流程控制
python入门(三) 基础用法变量+数据类型+流程控制