python day06
冒泡排序
排序算法会引入时间(程序运算时间),空间(程序占用的内存)这一概念
时间复杂度
空间复杂度
时间换空间,空间换时间,时空趋于平衡
算法的作用:优化程序,
冒泡排序基本思想:(视频)
1.一趟排序能找出参与本趟排序所有元素最大值
2.本趟排序找出的最大值不参与下一趟排序
3.总的排序趟数等于总的元素个数减1
4.每趟排序的次数是参与元素总数减1
numList = [5,19,15,7,4,-10]
#控制循环趟数,同时还能控制参与本趟排序元素个数减
for i in range(1,len(numList)):
for j in range(len(numList)-i):
if numList[j] > numList[j+1]:
numList[j] , numList[j + 1]=numList[j+1] , numList[j]
print(numList)
字符串
字符串基本概念
一、什么是字符串:: 由引号包围的一串有限个的符号的组合。
人类自然语言中字符串可以作为一串文本。
二、字符串性质
1.字符串是有序的。(下标)
2.字符串不可变。(没有增删改)
3.只要放入字符串的引号里,所有数据都会变成字符串符号。
4字符串的容器符号:‘’ “” “”“”“” ‘’‘’‘’
5.字符串数据类型:str
三、字符串组成:转义字符、原始字符串、一般字符串
四、字符串的拼接和重复
str1 = 'abcd'
str2 = '1234'
print(str1 + str2) #abcd1234
五、成员运算:in 、not in
子串:字符串中所有单个的符号或连续的N个符号都是字符串的子串
六、比较大小
字符串比较大小比较的是第一对不相同元素的ASCII码的大小。
ASCII码表中符号列涉及的符号均为字符串。
字符串比较大小比较的是第一对不相同元素的ASCII码的大小。
ASCII码表中符号列涉及的符号均为字符串。
以下内容需要熟练记忆
0-9对应的十进制为: 48~57
A-Z对应的十进制为:65~90
a-z对应的十进制为:97~122
print('abc' > '123') #True
print('abc' > 'abd') #True
Python使用的是Unicode编码表,万国码
Unicode编码表是在ASCII码表基础上扩充的
中文范围: \u4e00~\u9fa5
19968~40869
# 字符串遍历 同列表
# 直接遍历
# 间接遍历
# 字符串的下标和切片,等同于列表
# 练习:
# 将'abcABC' 转换为 'ABCabc'
str1 = 'abcABC'
str2 = ''
for i in str1:
if 'a' <= i <= 'z':
str2 += chr(ord(i)-32)
else:
str2 += chr(ord(i)+32)
print(str2)
# 字符串A + 空字符串 等于字符串A本身
字符串的一些其他操作
# lower :将字符串转小写
# upper: 将字符串转大写
str1 = 'abcABC'
print(str1.lower())
print(str1.upper())
str2 = 'aBC123abc'
# title:将字符串中所有的单词(连起来的字母)首字母转大写,其他小写
print(str2.title())
# capitalize:如果字符串第一个符号是小写字母将其转大写,其他小写
print(str2.capitalize())
# swapcase :字符串中字母大写转小写,小写转大写
print(str2.swapcase())