在整理自己的笔记的时候发现了当年学习python时候整理的笔记,稍微整理一下,分享出来,方便记录和查看吧。个人觉得如果想简单了解一名语言或者技术,最简单的方式就是通过菜鸟教程去学习一下。今后会从python开始重新更新,然后更新深度学习的一些框架,一些代码,从CV到NLP都会有相应的讲解,包括大模型训练以及部署。先画个饼,有时间开始慢慢更新。
2024年6月10日更新【Python教程】4-字符串、列表、字典、元组与集合操作
文章目录
- 1. 字符串常用方法
- 2. 字符串分割和连接
- 3. 对齐方法示例
- 4. 元组
- 5. 列表
- 常用方法
- 6、字典
- 遍历方式
- 字典的增删改查
- 7. 集合
- 8. 类型转换
- 9、方法
1. 字符串常用方法
a. 查找、替换、统计
find() # 查找子串的索引,如果找不到返回-1。(掌握)
rfind() # 从右向左查找子串的索引。(了解)
index() # 查找子串的索引,找不到子串时抛出异常。(了解)
rindex() # 从右向左查找子串的索引,与rfind()类似。(了解)
replace() # 替换子串,可以指定替换的次数,默认替换所有。(掌握)
count() # 计算子串在字符串中出现的次数。(掌握)
b. 分割、连接
split() # 根据分隔符分割字符串,返回列表。(掌握)
splitlines() # 按行分割字符串,返回每一行为列表元素。(理解)
partition() # 将字符串分割为三部分,返回一个元组。(了解)
rpartition() # 从右侧开始分割字符串,返回一个元组。(了解)
join() # 使用指定字符串连接序列中的元素。(掌握)
c. 判断
startswith() # 检查字符串是否以指定子串开始。(掌握)
endswith() # 检查字符串是否以指定子串结束。(掌握)
isupper() # 检查字符串是否由大写字母组成。(理解)
islower() # 检查字符串是否由小写字母组成。(理解)
isdigit() # 检查字符串是否只包含数字。(理解)
isalpha() # 检查字符串是否只包含字母。(理解)
isalnum() # 检查字符串是否只包含字母和数字。(理解)
isspace() # 检查字符串是否只包含空白字符。(理解)
d. 转换
upper() # 将字符串中的小写字母转为大写。(理解)
lower() # 将字符串中的大写字母转为小写。(理解)
title() # 将字符串中每个单词的首字母大写。(理解)
capitalize() # 将字符串的第一个字母大写。(理解)
e. 对齐
center() # 字符串居中,并使用指定字符填充至长度 width。(理解)
rjust() # 字符串右对齐,并使用指定字符填充至长度 width。(理解)
ljust() # 字符串左对齐,并使用指定字符填充至长度 width。(理解)
f. 去除空白
strip() # 去除字符串两端的空白字符。(理解)
lstrip() # 去除字符串左侧的空白字符。(理解)
rstrip() # 去除字符串右侧的空白字符。(理解)
2. 字符串分割和连接
分割时,如果需要对任何空白字符进行分割,则不需要写入任何参数。
def string_test():
s = 'Hello World Python World'
print(s.split("o", 1)) # 按'o'分割一次
print(s.split()) # 默认空白字符分割
ss = s.split()
print("_".join(ss)) # 使用'_'连接列表中的元素
print(s.replace(' ', '#')) # 空格替换为'#'
print(s.split("World")) # 按'World'分割
print(s.partition('World')) # 按'World'三部分分割
3. 对齐方法示例
def string_test():
s = 'Hello World Python World'
ss = 'Hello'
print('|' + ss.center(11, '_') + '|') # 居中对齐,使用'_'填充
print('|' + ss.rjust(11, '_') + '|') # 右对齐
print('|' + ss.ljust(11, '_') + '|') # 左对齐
4. 元组
元组使用小括号,不可修改,列表使用方括号,字典使用花括号。
t = (1,) # 定义只有一个元素的元组
t6 = tuple()
t7 = tuple("Hello")
元组可以使用下标访问,但不能修改内容。
def tuple_test():
t = (1, 2, 3, 4, "hello", ('a', 'b', 'c'), 'a', 'b')
for v in t:
if isinstance(v, tuple):
for i in v:
print(i)
else:
print(v)
print('t.count='+str(t.count('a')))
print('t[0]= '+str(t[0]))
print(type(t[0]))
print(type(t))
tt = (1,)
print(type(tt)) # 常用方法只有index和count
5. 列表
列表的定义与操作,支持增、删、查、改等操作。
def list_test():
l = [1, 2, 3, 4, 99, 6]
print(l)
l.sort(reverse=True) # 倒序排序
print(l)
l.reverse() # 反转列表
print(l)
使用列表时,避免在循环中修改列表大小(如删除元素)。
常用方法
都是在原list上进行操作,
增:
append() # 放最后
extend() # 拓展,将参数中的容器对象中的每个元素添加拓展到源列表中
insert() # 可以指定位置,插入数据时不存在下标越界的问题
修:
下标修改
查:
index()
count()
in (掌握)
not in
删:
pop() 参数是索引,默认删除最后一个
remove() 删除指定对象,当有多个相同对象的时候只删除第一个
clear() 清空但列表存在
del 全没了
使用列表时,不要再循环遍历的时候删除元素
def list_test():
l = [1, 2, 3, 4, 2.2]
l.append(66)
l.extend([4, 5, 6])
print(l)
print(3 in l)
l.pop()
print(l)
6、字典
定义时候使用花括号 {key:value,…} 利用键值对
l = {'one': '周一', 'two': '周二', 'three': '周三', 'four': '周四'}
key一般情况使用字符串类型充当(所有不可变的类型都可以),只要所有可以hash的对象都可以作为key
字典也是通过下标访问,但不是通过索引,而是通过key直接访问,但是最好通过get的方法
遍历方式
四种方式 key keys values items
默认打印的是key(for in的时候)
def list_travel1(l):
for k in l:
print(f'默认方式 key{k}->value{l[k]}')
return None
def list_travel2(l):
print(l.keys())
for k in l.keys():
print(f'keys key{k}->value{l[k]}')
return None
def list_travel3(l):
print(l.values())
for v in l.values():
print(f'values:{v}')
return None
def list_travel4(l): # 解包
for k,v in l.items():
print(f'key={k} values-{v}')
return None
def list_travel5(l):
print(l.items())
for item in l.items():
print(f'keys=={item[0]} values=={item[1]}')
item = (1,2,3,4,5)
a,b,c,d,e=item # 这个就是解包,必须一对一
字典的增删改查
字典中的key具有唯一性,如果key不存在就是增加,如果存在就是修改
查找的时候用get,get不会崩溃
popitem删除最后一个键值对
清空也可以用clear
del d[‘e’ ]
dic = {}
print(dic)
dic['a'] = 1
print(dic)
dic['b'] = 2
dic['c'] = 2
dic['d'] = 2
dic['e'] = 5
print(dic)
dic['e'] = 10
print(dic)
dic.popitem()
print(dic)
dic.pop('a')
print(dic)
del dic['b']
print(dic)
python3.5之后,字典都是有序的,定义的顺序是啥就是啥
7. 集合
集合中的数据不允许重复,集合用来去重,集合也是无序的
定义: set(可遍历的对象),也可以用花括号,花括号不是键值对就是集合,用键值对的形式就是字典
s = set() #定义一个空集合
集合不支持下标访问的
8. 类型转换
演示了字符串、列表、集合和元组之间的转换。
st = 'hello'
print(st + " " + str(type(st)))
st = list(st)
print(st)
print(str(type(st)))
st = set(st)
print(st)
print(str(type(st)))
print(''.join(st))
9、方法
in 在字典中判断的是ket
max和min