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

简介: 今天是python基础语法入门第二天,大概总共会有四天左右。四天后就是对于python的numpy库的详细文章。那话不多说,我们开始。

今天是python基础语法入门第二天,大概总共会有四天左右。四天后就是对于python的numpy库的详细文章。那话不多说,我们开始。


字符串详解

字符串独有功能

检测头尾字符

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可以将列表颠倒,可以利用这个实现倒序

1. num_lsit = [12, 42, 75, 94, 23, 25, 423]
2. num_lsit.reverse()#尾变头, 头变尾
3. 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],用索引的 方法输出列表对应位置的元素

相关文章
|
27天前
|
Python
在 Python 中,如何将日期时间类型转换为字符串?
在 Python 中,如何将日期时间类型转换为字符串?
120 64
|
3天前
|
索引 Python
Python列表
Python列表。
26 8
|
6天前
|
C语言 Python
[oeasy]python054_python有哪些关键字_keyword_list_列表_reserved_words
本文介绍了Python的关键字列表及其使用规则。通过回顾`hello world`示例,解释了Python中的标识符命名规则,并探讨了关键字如`if`、`for`、`in`等不能作为变量名的原因。最后,通过`import keyword`和`print(keyword.kwlist)`展示了Python的所有关键字,并总结了关键字不能用作标识符的规则。
24 9
|
14天前
|
数据挖掘 大数据 数据处理
python--列表list切分(超详细)
通过这些思维导图和分析说明表,您可以更直观地理解Python列表切分的概念、用法和实际应用。希望本文能帮助您更高效地使用Python进行数据处理和分析。
27 14
|
16天前
|
数据挖掘 大数据 数据处理
python--列表list切分(超详细)
通过这些思维导图和分析说明表,您可以更直观地理解Python列表切分的概念、用法和实际应用。希望本文能帮助您更高效地使用Python进行数据处理和分析。
29 10
|
19天前
|
存储 测试技术 Python
Python 中别再用 ‘+‘ 拼接字符串了!
通过选择合适的字符串拼接方法,可以显著提升 Python 代码的效率和可读性。在实际开发中,根据具体需求和场景选择最佳的方法,避免不必要的性能损失。
40 5
|
23天前
|
Python
使用Python计算字符串的SHA-256散列值
使用Python计算字符串的SHA-256散列值
25 7
|
29天前
|
Python
在 Python 中,如何将字符串中的日期格式转换为日期时间类型?
在 Python 中,如何将字符串中的日期格式转换为日期时间类型?
35 6
|
2月前
|
存储 安全 Serverless
Python学习四:流程控制语句(if-else、while、for),高级数据类型(字符串、列表、元组、字典)的操作
这篇文章主要介绍了Python中的流程控制语句(包括if-else、while、for循环)和高级数据类型(字符串、列表、元组、字典)的操作。
45 0
|
2月前
|
Python
Python操作:字符串--列表--元组--字典--运算符 (一)
Python操作:字符串--列表--元组--字典--运算符 (一)
23 0