目录

🔥一、字符串

⛳️字符串常见的操作

⛳️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)