一些字符串用法(split,join, end ,sep )

  • strip()
    主要用于去除字符串首尾的指定字符(默认为空格和换行符)。该方法不会修改原字符串,而是返回一个新的字符串。

  • split()

    str.split(separator, maxsplit)
    text = "Python is fun"
    words = text.split() # 按空格拆分
    print(words) # 输出: ['Python', 'is', 'fun']

    text = "Python,is,fun"
    words = text.split(",") # 按逗号拆分
    print(words) # 输出: ['Python', 'is', 'fun']

    text = "Python is fun"
    words = text.split(" ", 1) # 只分割一次
    print(words) # 输出: ['Python', 'is fun']

  • join 用于将一个可迭代对象(如列表、元组等)中的元素(字符串形式)连接成一个字符串,连接的方式通过指定的连接符。

    separator.join(iterable)
    words = ['Python', 'is', 'fun']
    sentence = " ".join(words) # 用空格连接
    print(sentence) # 输出: "Python is fun"

    numbers = ['1', '2', '3']
    joined_numbers = "-".join(numbers) # 用连字符连接
    print(joined_numbers) # 输出: "1-2-3"



  • end 是 print() 函数的一个参数,用来指定输出结束时的字符串。默认情况下,print() 会在输出末尾自动添加一个换行符 \n,但通过 end= 可以改变这个默认行为。

  • sep 自定义分隔符,当你使用 print() 输出多个参数时,sep 参数会插入到这些参数之间。

remove 和 pop

remove 用于知道元素是什么,然后删除第一个
pop 用于只知道目标元素的索引

sorted 与sort

sorted()

sorted(iterable, key=None, reverse=False)
# 可迭代的对象 : 列表,元组,字符串

sort()

list.sort(key=None, reverse=False)
  • key (按照自定义规则进行排序)
    key 参数允许你自定义排序规则。你可以传递一个函数,函数会应用到每个元素上,排序时依据该函数返回的值进行排序。
    特性 sorted() sort()
    作用对象 任何可迭代对象 只能用于列表
    返回值 返回新的排序列表 就地排序,不返回任何值
    是否修改原数据 不修改原始数据,返回排序后的新列表 修改原始列表,排序结果直接生效
    使用示例 sorted(list) list.sort()

循环

一个误区

list1 = [10, 20, 30]
for number in list1:
number += 1
print(list1) #[10,20,30]

这里的number 是局部变量,他有自己储存空间,这里只是更改了number,没有修改列表元素。

正确的做法:

# 使用索引
list1 = [10, 20, 30]
for i in range(len(list1)):
list1[i] += 1 # 通过索引修改 list1 中的元素
print(list1)

#使用列表推导式
list1 = [10, 20, 30]
list1 = [number + 1 for number in list1] # 生成新列表
print(list1)

可迭代对象 与可变对象

特性 可迭代对象 (Iterable) 可变对象 (Mutable)
定义 能逐个访问其元素的对象 可以在不创建新对象的情况下修改对象内容
常见类型 列表、元组、字符串、字典、集合、生成器等 列表、字典、集合
能否修改元素 取决于是否可变,如字符串不能修改,列表可以修改 可以修改,如列表、字典等
用途 用于迭代操作,比如 for 循环 用于存储需要动态更新的数据
示例 list1 = [1, 2, 3],可以使用 for x in list1 迭代 list1 = [1, 2, 3],可以执行 list1[0] = 10 修改

文件处理

Python 中处理文件的关键功能是 open()函数。

该open()函数接受两个参数; filename和mode。

打开文件有四种不同的方法(模式):

“r”- 读取 - 默认值。打开文件进行读取,如果文件不存在则出错

“a”- 附加 - 打开文件进行附加,如果文件不存在则创建该文件

“w”- 写入 - 打开文件进行写入,如果文件不存在则创建该文件

“x”- 创建 - 创建指定的文件,如果文件存在则返回错误

“t”- 文本 - 默认值。文本模式

“b”- 二进制 - 二进制模式(例如图像)

f = open("demofile.txt")
f = open("demofile.txt", "rt")

“r” 对于读取 和”t”文本是默认值,所以也可以不进行处理

文件读取

# 读取整个文件
f = open("demofile.txt", "r")
print(f.read())
# 只读文件的部分内容(返回字符数)
f = open("demofile.txt", "r")
print(f.read(5))
# 读行(一行)
f = open("demofile.txt", "r")
print(f.readline())
#调用readline()两次,读取前两行
f = open("demofile.txt", "r")
print(f.readline())
print(f.readline())


# 遍历每一行
f = open("demofile.txt", "r")
for x in f:
print(x)

# 关闭文件
f = open("demofile.txt", "r")
print(f.readline())
f.close()

f.read() 读取出来的是字符串。f.readlines()读出来的是列表。