day 06 学习Python——冒泡排序算法、字符串基础知识
一、冒泡排序算法
1、时间复杂度
2、空间复杂度
时间换空间,空间换时间,时间和空间总是趋于平稳的。
3、算法
作用:优化程序。
4、冒泡排序
1.一趟排序能够找出参与本次排序的元素的最大值。
2.本躺排序找出的最大值不参与下一趟排序。
3.总的排序趟数等于总的元素个数减1。
4.每一趟排序的比较次数为参与本趟排序的元素个数减1。
例如:
numList = [10, 55, 0, -10, 68, 99]
# 控制循环次数,同时还能控制本躺循环排序参与排序的元素个数
for i in range(l,len(numlist)):
for j in range(len(numlist)-1):
# 提取两个元素比较大小
if numlist[j] > numlist [j + 1]:
# 比较两个元素进行交换
numlist[j],numlist[j + 1] = numlist[j + 1],numlist[j]
print(numlist)
二、字符串
1、字符串的概念
所谓字符串,就是由引号包围的一串有限个的符号的组合。
2、字符串的性质
1.字符串是有序的。(下标,每个元素有自己的固定位置)
2.字符串是不可变的。(没有增删改)
3.只要放入字符串的引号里面,任何数据都会是编程没有意义的符号。
4.字符串的容器符号:''
、""
、""""""(三对双引号)、''''''
(三对单引号)。
5.字符串的数据类型:str
3、字符串的组成
转义字符(/n)、原始字符串、一般字符串。
4、字符串的拼接和重复
1.字符串的拼接
例如:
str1 = 'abcd'
str2 = '1234'
print(str1 + str2)
2.字符串的重复
例如:
str1 = 'abcd'
str2 = '1234'
print('*' * 20)
5、成员运算:in、not in
1.子串:字符串中所有单个的符号或连续的N个符号都是这个字符串的子串
例如:
print('abc' in 'abcd')
print('abc' not in 'abdc')
6、比较大小
print('abc' >'123')#true
print('abc' > 'abd')#false
:字符串比较大小的是第一对不相同的元素的ASCII编码的大小。
1、ASCII码表
ASCII码表中符号涉及的符号均为字符串。
- 常用的ASCII码有:
0-9对应的十进制为:48~57
A-Z对应的十进制为:65~90
a-z对应的十进制为:97~122
Python使用的是Unicode编码表,Unicode编码表又叫万国表,emoji
表情符号被包含在Unicode编码表中
Unicode编码表是在ASCII编码表基础上的拓展.
中文范围:\u4e00~\u9fa5
转为十进制为(19968~40869)
-
ASCII码转换符
chr()
:将数值转换为对应的符号crd()
:将编码表中的符号转换为十进制例如:
print(ord('0'),chr(48)) print(ord('\u4e00'),ord('\u9fa5')) for i in range(19968,40870): print(chr(i),end='')
7、字符串的遍历
1.直接遍历
例如:
str1 = 'abcde'
for i in range(len(str1)):
print(i)
2.间接遍历
例如:
for index in range(len(str1)):
print(f'下标{index}对应元素为{str1(index)}')
字符串的下标和切片,等同于 列表的下标和切片