目录
🔥一、字符串
⛳️字符串常见的操作
⛳️count函数
⛳️index函数
⛳️startswith函数
⛳️endswith函数
⛳️各种的判断函数
⛳️替换函数
⛳️切割字符串
⛳️大小写问题
⛳️空格处理与字符串拼接
⛳️format函数的使用小技巧
🔥二、列表
⛳️空列表
⛳️获取列表中的值
⛳️列表的添加
⛳️列表的删除 pop remove clear
⛳️列表的修改
⛳️列表的查找和删除
⛳️列表的升序降序与反转
⛳️练习
🔥三、冒泡排序
🔥一、字符串
⛳️字符串常见的操作
a = 'abcdefgaaa_1234'
# find函数 查找字符串的位置
# find函数 是从左向右查找 只要有一个符合要求的就返回位置 如果没有找到符号要求的 就返回-1
i = a.find('_')
print(i)
# 输出的结果是 10 就表示要找的这个_ 是在这个字符串的位置的地方那我们就可以
print(a[i])
# 这样就输出了 _
# rfind函数 就是从右往左查找
i = a.rfind('4')
print(i)
print(a[i])
# 这样就可以直接找到4这个字符串
⛳️count函数
# count函数 查看字符串出现了多少次
n = a.count('a')
print(n)
# 输出结果是4 表示这个字符串中 a出现了4次
⛳️index函数
# index函数也是表示查找 不过他如果找不到 不会返回-1 而是直接报错 其他和find函数一致
i = a.index('_')
print(i)
print(a[i])
# 然后这里 查找一串字符串的话 返回的位置是 这一串字符串的第一个字符的位置 find和index函数都是这样
i = a.index('fg')
print(i)
# 结果是5
⛳️startswith函数
# startswith判断是否是以什么字符开头
# 这种判断的函数返回值都是布尔类型的 就是True 或者 False
b = 'abcdefgaaa_1234'
res = b.startswith('s')
# 这个上面的意思就是 b这个字符串是否是以 s 开头的
print(res)
# 返回结果是false 就表示不是以s开头的
⛳️endswith函数
# endswith函数是 判断是否以什么字符结尾
res = b.endswith('1234')
print(res)
# 结果是True说明是以 1234结尾的
⛳️各种的判断函数
# isalpha函数 看字符串是否是纯字母组成的
A = 'A1234'
print(A.isalpha())
# 输出结果是False 说明A不是纯字母组成的字符串
B = 'abc'
print(B.isalpha())
# 输出结果是True 说明B是纯字母组成的
# isdigit函数 看字符串是否是纯数字组成的
C = '123'
print(C.isdigit())
# 返回的结果是True 说明是纯数字组成的
# isalnum函数 看字符串是否是字母和数字组成的
S = 'A123'
print(S.isalnum())
# 返回结果是True
# isspace函数 判断字符串是否是纯空格组成的
J = ' '
print(J.isspace())
# 返回结果是True
# isupper函数 判断是否全部是大写字母组成的
s = 'ABC'
print(s.isupper())
# 返回结果是True
# islower函数 判断是否全部是小写字母组成的
s = 'abc'
print(s.islower())
# 返回结果是True
⛳️替换函数
# 替换函数 replace
s = '你说我很帅,我也觉得'
result = s.replace('我','*')
print(result)
# 输出结果是 你说*很帅,*也觉得
# 可以看出来这个语法就是 (你要替换的值,替换成的值)
# 然后说一下replace的参数 有一个count 代表替换几次 这个参数默认是全部替换
# 举个例子
result = s.replace('我','*',1)
print(result)
# 输出结果是 你说*很帅,我也觉得
# 只替换了最前面的一个
result = s.replace('我','*',2)
print(result)
# 输出结果是 你说*很帅,*也觉得 这样应该能明白count参数的意思了把
⛳️切割字符串
# split函数 切割字符串
a = '你 我 他'
result = a.split(' ')
print(result)
# 输出结果是 ['你', '我', '他']
# 这个的语法格式其实是 split('分割符号')
# 这个函数里面也是有 参数count的 和上面同理
# 这个参数和rsplit一起讲
result = a.rsplit(' ',1)
print(result)
# 输出结果是 ['你 我', '他'] 因为rsplit是从右往左切
# splitlines()函数
a = '''你来玩游戏吧
你来吃饭吧
你来看电视吧
'''
result = a.splitlines()
print(result)
# 输出结果是 ['你来玩游戏吧', '你来吃饭吧', '你来看电视吧']
# 这个函数就是行切割的意思
# partition函数 只切一刀
a = '你 我 他'
result = a.partition(' ')
print(result)
# 输出结果是 ('你', ' ', '我 他') 用分隔符切开
⛳️大小写问题
# title函数
s = 'hello world'
result = s.title()
print(result)
# 输出结果是 Hello World 相当于是 把首字母都改为大写 就是2个单词的首字母
# upper函数
result = s.upper()
print(result)
# 输出结果是 HELLO WORLD 全部改为大写
# lower函数
result = s.lower()
print(result)
# 输出结果是 hello world 全部改为小写
# capitalize函数
result = s.capitalize()
print(result)
# 输出结果是 Hello world 只改整个字符串的首字母为大写
⛳️空格处理与字符串拼接
username = input('用户名:')
print(len(username))
# 在输入的时候 随便输入一个admin 然后加了很多空格会怎么样呢
# 他的长度就是8 也就是说空格也被输入进去了
# 现在就是要处理这些空格 因为注册的时候也许不小心加了一个空格
# 空格处理
a = ' admin '
print(a.strip())
#输出的结果就是 admin 前后都没有空格
# 然后rstrip函数 是去掉右边的空格
# lstrip函数是去掉左边的空格
# center函数 就是字符串居中操作
a = 'hello world'
print(a.center(30))
# 输出结果是 hello world 这个就是 在指定的30个字符中去居中 给的是空格字符
# ljust函数
print(a.ljust(30))
# hello world 输出的结果
# 他是在字符串的右边增加空格 加上hello world一共30个字符串
# 相当于 ljust是字符串左对齐的意思
# 同理 rjust表示右对齐
⛳️format函数的使用小技巧
name = '老王'
age = 8
result = '我叫{}今年{}岁'.format(name,age)
print(result)
# 下面这个可以用数字代表 要替换的位置
result = '我叫{0}今年{1}岁,我也是{1}岁'.format(name,age)
print(result)
# 还有一种关键字变量
result = '我叫{name}今年{age}岁,我也是{age}岁'.format(name='王五',age=10)
print(result)
🔥二、列表
⛳️空列表
list = []
⛳️获取列表中的值
list1 = ['a','b','c']
print(list1[1])
# 输出结果是 b
# 用的是之前的切片的知识点
⛳️列表的添加
# 列表的添加 append函数
list2 = []
list2.append('a')
print(list2)
# 输出结果是['a'] 表示已经添加进去了
# extend函数 添加列表到列表中去
list1.extend(list2)
print(list1)
# 输出结果是 ['a', 'b', 'c', 'a']
⛳️列表的删除 pop remove clear
# pop函数
list1 = ['a','b','c']
list1.pop(1)
print(list1)
# 输出结果是['a', 'c'] 说明pop 里面的1是列表的下标
list1 = ['a','b','c']
list1.pop()
print(list1)
# ['a', 'b'] 这个是输出结果 就是说不添加参数 是默认从后往前删除
# remove函数
list1 = ['a','b','c']
list1.remove('a')
print(list1)
# 输出结果是 ['b', 'c'] 这个是根据元素的名称去删除的
# 注意 列表中遇到多个同名字符 只删除第一个
list1 = ['a','b','c','a']
list1.remove('a')
print(list1)
# 输出结果为 ['b', 'c', 'a']
# 这里要注意 如果要删除多个 可以用下面的这个方法
list1 = ['a','b','c','a','a']
a = 0
while a < len(list1):
if list1[a] == 'a':
list1.remove('a')
else:
a += 1
print(list1)
# 为什么不用for循环呢 因为使用for循环 删除的时候是按下标来的 如果连续的2个'a'
# 他是不会删除第二个a的 因为 'b' 'a' 'a' 删除第一个a以后 第二个a的下标就变成了
# 原本的第一个a的下标 就会跳过去这个a
⛳️列表的修改
# 列表的修改
list1 = [1,2,3,4,5,6]
list1[2] = 8
print(list1)
# 结果是 [1, 2, 8, 4, 5, 6] 这个就是直接定位到下标 然后重新赋值 就是修改
# 然后如果列表的数据太长的话我们不方便找它的下标怎么办
# 使用index函数 找下标
area = list1.index(6)
print(area)
# 输出结果是5 说明6在列表中的下标是5
# 插入值 insert函数
list1 = [1,2,3,4,5,6]
list1.insert(2,0)
print(list1)
# 输出结果是 [1, 2, 0, 3, 4, 5, 6] 这个insert的语法就是 在列表下标为2的地方插入一个值 0
# clear() 清空列表的元素
list1 = ['a','b','c','d']
print(list1.clear())
# 输出结果是 None
⛳️列表的查找和删除
# 列表的查找 in 与 not in (与in的意思相反)
list1 = ['a','b','c','d']
print('a' in list1)
# 结果是true 这个表示的意思是 字符串'a'是否在list1列表当中
# 列表的删除 del函数
list1 = ['a','b','c','d']
del list1[2]
print(list1)
# ['a', 'b', 'd']这个是输出结果 删除的是 下标的位置
⛳️列表的升序降序与反转
# 列表的升序降序 sort函数
list1 = [10,30,90,80,50,60]
list1.sort(reverse=True)
print(list1)
# sort函数 默认会按照升序
# 也可以通过 reverse设置true 就是降序排序
# 列表的反转 reverse函数
list1 = [10,30,90,80,50,60]
print(list1)
list1.reverse()
print(list1)
# 输出结果分别为
# [10, 30, 90, 80, 50, 60]
# [60, 50, 80, 90, 30, 10]
⛳️练习
"""
生成一组随机数 保存到列表
键盘输入一个1-100的整数 将整数插入到排序后的列表中
插入的数也要排序
"""
import random
list = []
for i in range(10):
a = random.randint(1,100)
list.append(a)
caru = int(input('输入你要插入的数据:'))
list.insert(2,caru)
list.sort(reverse=True)
print(list)
🔥三、冒泡排序
# 正常情况下 交叉赋值想到的应该是
a = 2
b = 3
# # 交叉赋值
#
# c = a
# a = b
# b = c
# # 这样就实现了 a的值给b b的值给a
# 但是在python中有一个更加简便的方法
a,b = b,a
print(a,b)
# 冒泡排序
num = [4,3,2,1,5,6,7,8]
for i in range(0,len(num)-1): # 轮数
for j in range(0,len(num)-1-i): # 两两比较
if num[j] > num[j+1]:
num[j],num[j+1] = num[j+1],num[j]
print(num)