Day06
一、冒泡排序
- 时间复杂度
- 空间复杂度
- 一趟排序能够找出参与本趟排序的元素的最大值
- 本趟排序找出的最大值不参与下一趟排序。
- 总的排序趟数等于总的元素个数减1
- 每一趟排序的比较次数为参与本趟排序的元素个数减1
numList = [10, 55, 0, -10, 68, 99]
for i in range(1,len(numList)-1):
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)
# [-10, 0, 10, 55, 68, 99]
二、字符串
1、字符串定义
- 由引号包围的一串有限个的符号的组合,人类自然语言中,字符串可以作为一串文本
2、字符串性质
- 字符串是有序的(有序,每个元素有自己的固定位置)
- 字符串是不可变的。(没有增删改查)
- 只要放入字符串的引号,任何数据都会变成没有意义的符号
- 字符串的容器符号:‘’、“”、“”“”“”、‘’‘’‘’
- 字符串的数据类型:str
3、字符串的组成
- 转义字符、原始字符串、一般字符串
4、字符串的拼接与重复
str1 = 'abcd'
str2 = '1234'
str3='*'
print(str1 + str2) #abcd1234
print(str3*10) #**********
5、成员运算
- in、not in
str1 = 'abcd'
str2 = '1234'
print('abc' in str1) #True
print('ac' not in str1) #True
6、比较大小
print(str1>str2) #True
print('abc'>'abd') #False
-
字符串比较大小的规则:比较的是第一对不相同元素的ASCII编码的大小
-
ASCII编码表中符号列涉及的符号均为数字
- 0-9对应的十进制为:48-57
- A-Z对应的十进制为65-90
- a-z对应的十进制为97-122
-
python用的Unicode编码,又叫万国码,emoji表情符号,被包含在Unicode的编码表中。
-
unicode编码表示在ASCII码基础上的拓展
-
中文范围:\u4e00~\u9fa5
-
chr() 将数值再转换为对应的符号
-
ord() 将编码表中的符号转换为十进制
print(ord('0'),chr(48)) # 48 0 print(ord('A')) # 65 print(chr(ord('A')+32)) # a print(ord('\u4e00'),ord('\u9fa5'))# 19968 40869 print(chr(19968)) #一
7、字符串的遍历
- 直接遍历
- 间接遍历
8、字符串的下标和切片
三、大小写转换
-
lower:将字符串转小写
-
upper:将字符串转大写
str1='abcABC' print(str1.lower()) # abcabc print(str1.upper()) # ABCABC
-
title:将字符串中所有的单词首字母转大写
str2 = 'abc123abc' print(str2.title()) #Abc123Abc
-
capitalize(),如果字符串第一个符号是小写字母,将其转大写
print(str2.capitalize()) #Abc123abc