Python基础语法day02字符串详解和列表

简介: Python基础语法day02字符串详解和列表

字符串详解

字符串独有功能

检测头尾字符

startwith检测开头返回值为bool类型

endwith检测结尾返回值为bool类型

str = "My name is Anduin"
result1 = str.startwith("My")
result2 = str.endwith("in")
print(result1)#True
print(result2)#True

判断输入结果是否为数字

isdecimal返回值为bool类型

str = "12332"
print(str.isdecimel)#True

       这里有一点需要注意的是有些文章上会让大家使用isdigit来判断,但是这个需要慎用。原因是因为如果输入为序号1(1外面一个圈的)isdigit也会判断为真返回true,这显然是我们不想看到的。

首尾删除

strip如果不填参数默认删除空格

lstrip删除开头指定内容

rstrip删除结尾指定内容

str = "   Hello   "
print(str.strip())#Hello
 
print(str.lstrip())#"Hello   "
 
print(str.rstrip())"   Hello"
 
str1 = str.strip()
#此时str1 = "Hello"
print(str1.strip("H"))#ello
 
print(str1.strip("o"))#Hell
 
print(str1.lstrip("H"))#ello
 
print(str1.rstrip("o"))#Hell

字符串中的替换

replace(A, B)用B替换A

str = "My namw is Anduin"
result = str.replace("Anduin", "AABB")
print(result)#My name is AABB

字符串的分割

split按照指定的字符分割字符串

和上面的rstrip一样,加上r会从右边开始执行

str = "msg|res|val"
result1 = str.split("|")
#["msg", "res", "val"]
result2 = str.split("|", 1)
#["msg", "res|val"]
result3 = str.rsplit("|", 1)
#["msg|res", "val"]

字符串的连接

datalist = ["My", "name", "is", "Anduin"]
v1 = "*".join(datalist)
print(v1)
#My*name*is*Anduin
v2 = "".join(datalist)
print(v2)
#MynameisAnduin

字符串的居中

center居中

ljust居左

rjust居右

以上三个函数都会帮用指定的符号补齐空白部分

str = "Anduin"
str1 = str.center(10, "*")
#**ANduin**
str1 = str.ljust(10, "*")
#Anduin****
str1 = str.rjust(10, "*")
#****Anduin

字符串的公共功能

加、乘功能

主要是字符串+字符串和整数*字符串

str = "Anduin"
print(# * str)
#AnduinAnduinAnduin
print(str + "yyds")
#Anduinyyds

索引功能(很重要)

str[a,b]表示取编号a<=x<b的值,且编号从0开始

str[a,b,c]表示取编号a<=x<b的间隔c值,且编号从0开始

在python中-1表示最后一个,相应的-2,-3,-4表示倒数第二,第三,第三个。

name = "anduin"
print(name[0] + name[1])
#an
print(name[-1], name[-2])  # 字符串只能通过索引取值,不能修改值
#ni
 
print(name[0:2])
#an
 
print(name[2:])
#duin
 
print(name[:3])
#and
 
# 步长 跳着取字符串内容
print(name[0::2])
#adi
 
print(name[::-1])
#niudna可以用来将字符串倒置

求长度

len获取字符串长度

name = "Anduin"
print(len(name))
#6

一个很重要的函数range()

#取0-n的值
range(10)  # [0,1,2,3,4,5,6,7,8,9]
#取1-10的值
range(1, 10)
#间隔为2取1-10
range(1, 10, 2)
#取一到10的值
range(10, 1, -1)

列表

定义

       列表是有序可变的容器,可以存不同类型的元素。这里需要注意字符串是不可变的,列表是可变的。

       我们可以发现,上面对字符串的操作都是生成了一个新的字符串而字符串本身不改变,但是对于列表的操作是改变其本身的。

独有功能

创建空列表和追加

append追加:在列表最后加入一个元素

#创建一个空列表
list = []
#列表的追加
list.append("锤子")
list.append("钟无艳")

元素的指定位置插入

insert可以在指定位置插入,该位置原名来的元素及其以后的元素依次向后移动。

如果插入位置很离谱比如:-1000,999等越界插入,不会报错,会相应在开头或者末尾插入。

area = ["艾泽拉斯", "暴风城", "王宫"]
area.insert(0, "冰冠堡垒")

追加一个列表

extend可以在指定列表后加上一个列表,将两个列表拼接起来(注意使用先后)

area = ["艾泽拉斯", "暴风城", "王宫"]
charictor = ["巫妖王", "阿尔萨斯", "女王"]
area.extend(charictor)
print(area)
#["艾泽拉斯", "暴风城", "王宫", "巫妖王", "阿尔萨斯", "女王"]

元素的两种删除方法

方法一:

使用remove删除列表中的指定元素

area = ["艾泽拉斯", "暴风城", "王宫"]
area.remove("艾泽拉斯")
#["暴风城", "王宫"]

方法二:

使用pop对指定位置进行删除。pop删除会返回删除的元素,效果如下:

area = ["艾泽拉斯", "暴风城", "王宫"]
item = area.pop(1)
#["艾泽拉斯", "王宫"] item = "暴风城"
 
#如果没有指定删除位置,默认删除最后一个
area = ["艾泽拉斯", "暴风城", "王宫"]
item = area.pop()
#["艾泽拉斯", "暴风城"] item = "王宫"

清空列表

clear可以删除列表内所有的元素

area.clear()  # 清空列表

排序功能

sort可以对列表内的元素进行排序(默认从小到大,想要倒序请看下一条)。注意此处有两点提醒:1.尽量对只含有数字的列表排序2.被排序的列表内所有元素必须类型一致。

#从小到大排序
num_lsit = [12, 42, 75, 94, 23, 25, 423]
num_lsit.sort()

字符串倒置

reverse可以将列表颠倒,可以利用这个实现倒序

num_lsit = [12, 42, 75, 94, 23, 25, 423]
num_lsit.reverse()#尾变头, 头变尾
num_lsit.sort(reverse=True)#倒序排序

公共功能

len获取长度

类比上文字符串

方括号索引、步长

类比上文字符串,规则一致,这里只举例增加的功能:del 删除

#从2开始删除后面的
del list[2:]

嵌套

嵌套顾名思义就是在一个列表里存一个列表(列表内的元素可以为任意类型),下面我们来存储一组用户名和密码

user_list = []
user1 = ["anduin", "123456"]
user2 = ["alex", "654321"]
user3 = ["Marry", "888888"]
user_list.append(user1)
user_list.insert(0, user2)
user_list.insert(1000, user3)
print(user_list)

运行结果如图:

有了对于字符串和列表索引的基础,对于嵌套列表的索引我们可以直接看代码:

user_list = []
user1 = ["anduin", "123456"]
user2 = ["alex", "654321"]
user3 = ["Marry", "888888"]
user_list.append(user1)
user_list.insert(0, user2)
user_list.insert(1000, user3)
print(user_list[1])
print(user_list[-1])
print(user_list[1][0])
print(user_list[1][-1])
print(user_list[::2])

for循环

       昨天我们学了while循环。for循环和while循环的主要区别在于:while循环适合次数不知道的循环,for循环适合次数已知的循环。

       例如用户输密码,不知道输入多少次才能对那我们就用while循环,遍历已知个数的列表就用for循环。

"""
这里提供两种for循环遍历列表来解释for循环
"""
list = ["dog", "cat", "pig"]
for item in list:
    print(item)
 
for i in range(len(list)):
    print(list[i])

第一种是设置一个item变量,一次等于list中每一个元素,打印该元素的复制

第二种是获取长度列表[0, 1, 2],用索引的 方法输出列表对应位置的元素

相关文章
|
16天前
|
Python
探索Python中的列表推导式
【10月更文挑战第38天】本文深入探讨了Python中强大而简洁的编程工具——列表推导式。从基础使用到高级技巧,我们将一步步揭示如何利用这个特性来简化代码、提高效率。你将了解到,列表推导式不仅仅是编码的快捷方式,它还能帮助我们以更加Pythonic的方式思考问题。准备好让你的Python代码变得更加优雅和高效了吗?让我们开始吧!
|
17天前
|
机器学习/深度学习 数据挖掘 开发者
Python编程入门:理解基础语法与编写第一个程序
【10月更文挑战第37天】本文旨在为初学者提供Python编程的初步了解,通过简明的语言和直观的例子,引导读者掌握Python的基础语法,并完成一个简单的程序。我们将从变量、数据类型到控制结构,逐步展开讲解,确保即使是编程新手也能轻松跟上。文章末尾附有完整代码示例,供读者参考和实践。
|
27天前
|
存储 Python Perl
python正则语法
本文介绍了正则表达式的基础知识及其在 Python 中的应用。首先解释了为什么要使用正则表达式,通过一个判断手机号的示例展示了正则表达式的简洁性。接着详细介绍了 `re` 模块的常用方法,如 `match()`、`search()`、`findall()`、`finditer()` 等,并讲解了正则表达式的基本语法,包括匹配单个字符、数字、锚字符和限定符等。最后,文章还探讨了正则表达式的高级特性,如分组、编译和贪婪与非贪婪模式。
21 2
|
1月前
|
Python
SciPy 教程 之 SciPy 模块列表 13
SciPy教程之SciPy模块列表13:单位类型。常量模块包含多种单位,如公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了如何使用`constants`模块获取零摄氏度对应的开尔文值(273.15)和华氏度与摄氏度的转换系数(0.5556)。
18 1
|
1月前
|
弹性计算 安全 数据处理
Python高手秘籍:列表推导式与Lambda函数的高效应用
列表推导式和Lambda函数是Python中强大的工具。列表推导式允许在一行代码中生成新列表,而Lambda函数则是用于简单操作的匿名函数。通过示例展示了如何使用这些工具进行数据处理和功能实现,包括生成偶数平方、展平二维列表、按长度排序单词等。这些工具在Python编程中具有高度的灵活性和实用性。
|
29天前
|
Python
SciPy 教程 之 SciPy 模块列表 16
SciPy教程之SciPy模块列表16 - 单位类型。常量模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了力学单位的使用,如牛顿、磅力和千克力等。
18 0
|
1月前
|
JavaScript Python
SciPy 教程 之 SciPy 模块列表 15
SciPy 教程之 SciPy 模块列表 15 - 功率单位。常量模块包含多种单位,如公制、质量、时间等。功率单位中,1 瓦特定义为 1 焦耳/秒,表示每秒转换或耗散的能量速率。示例代码展示了如何使用 `constants` 模块获取马力值(745.6998715822701)。
16 0
|
1月前
|
JavaScript Python
SciPy 教程 之 SciPy 模块列表 15
SciPy教程之SciPy模块列表15:单位类型。常量模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。功率单位以瓦特(W)表示,1W=1J/s。示例代码展示了如何使用`constants`模块获取马力(hp)的值,结果为745.6998715822701。
18 0
|
1月前
|
C语言 Python
探索Python中的列表推导式:简洁而强大的工具
【10月更文挑战第24天】在Python编程的世界中,追求代码的简洁性和可读性是永恒的主题。列表推导式(List Comprehensions)作为Python语言的一个特色功能,提供了一种优雅且高效的方法来创建和处理列表。本文将深入探讨列表推导式的使用场景、语法结构以及如何通过它简化日常编程任务。
|
1月前
|
Python
SciPy 教程 之 SciPy 模块列表 13
SciPy 教程之 SciPy 模块列表 13 - 单位类型。常量模块包含多种单位:公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例:`constants.zero_Celsius` 返回 273.15 开尔文,`constants.degree_Fahrenheit` 返回 0.5555555555555556。
14 0