讲解视频链接:

https://www.bilibili.com/video/BV13fYPzNEWs/?spm_id_from=333.1387.homepage.video_card.click

程序的本质就是使用代码对数据进行操作,代码是对数据操作的逻辑,数据在高级代码语言里需要有一定的组织结构,Python中最基础常用的几种就是:

字符串str

引号(单双引号均可)括起来的部分,可以描述自然语言;str(参数)可以将参数如数字等转化为字符串。

列表list

中括号括起来的部分,中间每一项用逗号(,)隔开,每一项的数据类型都可以不同特定顺序排列

元组tuple

小括号括起来的部分,中间每一项也是用逗号(,)隔开,

字典dict

大括号括起来的部分,每一项包括2个子项,键key和值value,键一般是字符串,键值对用冒号(:)分开,每一项也是用逗号(,)分开。

对数据结构进行的最基本的操作就是在创建之后的增删查改不可变对象如字符串和元组的增删改都是返回新的对象),增就是添加,删就是删除,查就是获取对象,包括单个和多个元素的获取(切片),改就是修改,下面具体地介绍一下各个数据结构的基本操作。

对应数据结构的基本操作方法,直接使用名称.方法名(参数)即可。

字符串

注意字符串是不可变对象,增删改后返回的是新的字符串即使没有实际改变,也会创建新对象。

创建:使用引号括起来的部分为字符串,可以为中文,英文,数字等符号。

str1='        string'

join()方法:在实际项目中创建字符串常用的一个方法是join(),用于将序列(如列表、元组、字符串、字典、集合等)中的元素以指定的字符串连接起来生成一个新的字符串。

语法:str.join(sequence),序列中的元素必须是字符串类型。如果序列中包含非字符串元素,则会抛出TypeError。

与使用 + 操作符进行字符串拼接相比,join() 方法在性能上具有显著优势,特别是在处理大量字符串时。

由于字符串是不可变对象,每次使用 + 操作符都会创建一个新的字符串对象。而 join() 方法只需要在最后创建一次新字符串,大大减少了内存分配和复制操作。

import time

# 使用 + 操作符拼接(效率低)

start_time = time.time()

result = ""

for i in range(10000):

    result += str(i)

end_time = time.time()

print(f"使用 + 操作符耗时: {end_time - start_time:.4f} 秒")

# 使用 join() 方法拼接(效率高)

start_time = time.time()

parts = []for i in range(10000):

    parts.append(str(i))

result = "".join(parts)

end_time = time.time()

print(f"使用 join() 方法耗时: {end_time - start_time:.4f} 秒")

增(添加):直接使用加号(+)来合并添加字符串

str2=str1+'   abc    '

删(替换):使用 replace() 方法删除特定字符或子串

text = "Hello, World!"# 删除逗号

new_text = text.replace(",", "")

print(new_text)  # 输出: Hello World!

rstrip()剔除字符串末尾的空格,lstrip()剔除字符串开头的空格strip()同时剔除字符串两端的空格也可以指定删除特定字符。

str5=str4.lstrip()
str6=str4.rstrip()
str7=str4.strip()

查(获取单个元素):使用字符串名加下标str[i]即可。

str_single=str1[5]

查(切片)同时获取多个元素,名称加区间索引值str[i:j],实际获取的数据区间是左闭右开要输出列表中的前三个元素,需要指定下标索引0~3

str_split=str1[0:5]

查(遍历):

数据结构都是可迭代对象(后面详细介绍),可以使用for循环进行遍历取值for str in str1:
    print(str)

改:字符串不能直接使用下标更改特定值,只能使用切片拼接的方法。

text = "hello"

# 尝试修改字符串中的字符会引发错误

try:

text[0] = "H"  # 这会引发 TypeError

except TypeError as e:

    print(f"错误: {e}")

# 正确的方法是创建新字符串#

方法1: 使用切片和连接

new_text = "H" + text[1:]

print(f"方法1结果: {new_text}")

# 方法2: 转换为列表再转回字符串

text_list = list(text)

text_list[0] = "H"

new_text = "".join(text_list)

print(f"方法2结果: {new_text}")

upper()将字符串改为全部大写;lower()全部小写,title()将每个单词的首字母都改为大写。

str3=str2.upper()
str4=str3.lower()

求长度:直接使用len()函数

str_size=len(str1)

Logo

更多推荐