【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)


🍑 结果:

相关文章
|
22天前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
46 8
|
22天前
Seaborn 教程-主题(Theme)
Seaborn 教程-主题(Theme)
69 7
|
22天前
|
Python
Seaborn 教程-模板(Context)
Seaborn 教程-模板(Context)
47 4
|
22天前
|
数据可视化 Python
Seaborn 教程
Seaborn 教程
43 5
|
29天前
|
存储 测试技术 Python
Python 中别再用 ‘+‘ 拼接字符串了!
通过选择合适的字符串拼接方法,可以显著提升 Python 代码的效率和可读性。在实际开发中,根据具体需求和场景选择最佳的方法,避免不必要的性能损失。
44 5
|
1月前
|
Python
使用Python计算字符串的SHA-256散列值
使用Python计算字符串的SHA-256散列值
40 7
|
1月前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
30天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
18天前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
103 80
|
7天前
|
Python
[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
本文介绍了Python编程中容易出现的问题,特别是函数名、类名和模块名的重新赋值。通过具体示例展示了将内建函数(如`print`、`int`、`max`)或模块名(如`os`)重新赋值为其他类型后,会导致原有功能失效。例如,将`print`赋值为整数后,无法再用其输出内容;将`int`赋值为整数后,无法再进行类型转换。重新赋值后,这些名称失去了原有的功能,可能导致程序错误。总结指出,已有的函数名、类名和模块名不适合覆盖赋新值,否则会失去原有功能。如果需要使用类似的变量名,建议采用其他命名方式以避免冲突。
29 14