diff --git "a/\345\255\227\347\254\246\344\270\262\345\222\214\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217/list.py" "b/\345\255\227\347\254\246\344\270\262\345\222\214\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217/list.py" index 298f75a..15a10b5 100644 --- "a/\345\255\227\347\254\246\344\270\262\345\222\214\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217/list.py" +++ "b/\345\255\227\347\254\246\344\270\262\345\222\214\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217/list.py" @@ -4,121 +4,121 @@ # 创建空列表 empty = [] -print(empty) +print(empty) #[] # 创建字符串列表 str_0 = ['abc', 'bcd', 'cde'] -print(str_0) +print(str_0) #['abc', 'bcd', 'cde'] # 创建数字列表 number = [1, 2, 3] -print(number) +print(number) #[1, 2, 3] # 创建混合列表 mix = ['abc', 2, 'def', 4] -print(mix) +print(mix) #['abc', 2, 'def', 4] # 在列表最后添加有且仅有一个元素 str_0.append('英语好难') -print(str_0) +print(str_0) #['abc', 'bcd', 'cde', '英语好难'] str_0[len(str_0):] = ['放暑假了'] print(str_0) -len(str_0) +len(str_0) #['abc', 'bcd', 'cde', '英语好难', '放暑假了'] # 用有且仅有一个列表扩展另一个列表,即同时在列表末尾添加多个元素 str_0.extend(['好好学习', '天天向上']) -print(str_0) +print(str_0) #['abc', 'bcd', 'cde', '英语好难', '放暑假了', '好好学习', '天天向上'] # 在列表固定位置(下标从0开始)插入元素 str_0.insert(0, 'aaaaa') -print(str_0) +print(str_0) #['aaaaa', 'abc', 'bcd', 'cde', '英语好难', '放暑假了', '好好学习', '天天向上'] # 从列表删除元素(方法) str_0.remove('英语好难') -print(str_0) +print(str_0) #['aaaaa', 'abc', 'bcd', 'cde', '放暑假了', '好好学习', '天天向上'] # 从列表删除元素(函数) del str_0[0] -print(str_0) +print(str_0) #['abc', 'bcd', 'cde', '放暑假了', '好好学习', '天天向上'] # 返回列表中要删除的元素值 # 删除最后一个元素 str_0.pop() -print(str_0) +print(str_0) #['abc', 'bcd', 'cde', '放暑假了', '好好学习'] # 删除指定元素 str_0.pop(1) -print(str_0) +print(str_0) #['abc', 'cde', '放暑假了', '好好学习'] # 列表切片(分片),一次性获取多个元素, 原列表不变 # 元素1到元素3(不包含元素3) -print(str_0[1:3]) +print(str_0[1:3]) #['cde', '放暑假了'] # 从列表头到元素3(不包含元素3) -print(str_0[:3]) +print(str_0[:3]) #['abc', 'cde', '放暑假了'] # 从元素3到列表末尾 -print(str_0[3:]) +print(str_0[3:]) #['好好学习'] # 输出整个列表 # 与str_1 = str_0不同 # str_1 = str_0时,str_0和str_1指向同一块空间;而str_0[:]仅仅是将值给了str_1一份,指向两块不同的空间 str_1 = str_0[:] -print(str_1) +print(str_1) #['abc', 'cde', '放暑假了', '好好学习'] # 拼接两个列表 str_0 = str_0 + number -print(str_0) +print(str_0) #['abc', 'cde', '放暑假了', '好好学习', 1, 2, 3] # 复制列表元素 # 复制后直接输出,原列表不变 -print(number) -print(number * 3) +print(number) #[1, 2, 3] +print(number * 3) #[1, 2, 3, 1, 2, 3, 1, 2, 3] number_copy = number.copy() -print(number_copy) +print(number_copy) #[1, 2, 3] # 复制后赋值给原列表 number *= 2 -print(number) +print(number) #[1, 2, 3, 1, 2, 3] # 判断元素是否在列表中 -print('好好学习' in str_0) -print('哈哈哈' not in str_0) +print('好好学习' in str_0) #True +print('哈哈哈' not in str_0) #True # 判断元素是否在列表中的列表中 str_0.extend([['哈哈哈', 'wuwuwu']]) -print(str_0) -print('哈哈哈' in str_0) -print('哈哈哈' in str_0[len(str_0) - 1]) +print(str_0) #['abc', 'cde', '放暑假了', '好好学习', 1, 2, 3, ['哈哈哈', 'wuwuwu']] +print('哈哈哈' in str_0) #False +print('哈哈哈' in str_0[len(str_0) - 1]) #True # 列表中的列表中的元素 -print(str_0[6][1]) +print(str_0[7][1]) #wuwuwu # 列表中数据出现的次数 -print(number.count(2)) +print(number.count(2)) #2 # 返回参数在列表中第一次出现的位置 -print(str_0.index('cde')) +print(str_0.index('cde')) #1 # 指定查找范围 -print(str_0.index('cde', 0, 5)) +print(str_0.index('cde', 0, 5)) #1 # 将整个列表翻转(无参数) str_0.reverse() -print(str_0) +print(str_0) #[['哈哈哈', 'wuwuwu'], 3, 2, 1, '好好学习', '放暑假了', 'cde', 'abc'] # sort排序 # 从小到大排序 number.sort() -print(number) +print(number) #[1, 1, 2, 2, 3, 3] # 从大到小排序 number.reverse() -print(number) +print(number) #[3, 3, 2, 2, 1, 1] number.sort(reverse=True) -print(number) +print(number) #[3, 3, 2, 2, 1, 1] #替换列表中的元素 str_0[0] = 'hahahha' -print(str_0) +print(str_0) #['hahahha', 3, 2, 1, '好好学习', '放暑假了', 'cde', 'abc'] str_0[str_0.index('hahahha')] = "哈哈哈" -print(str_0) +print(str_0) #['哈哈哈', 3, 2, 1, '好好学习', '放暑假了', 'cde', 'abc'] str_0[3:] = [54, 85, 95, 105] -print(str_0) +print(str_0) #['哈哈哈', 3, 2, 54, 85, 95, 105] #清空列表 str_0.clear() -print(str_0) +print(str_0) #[] diff --git "a/\345\255\227\347\254\246\344\270\262\345\222\214\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217/\345\205\203\347\273\204.py" "b/\345\255\227\347\254\246\344\270\262\345\222\214\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217/\345\205\203\347\273\204.py" index 5be2387..935c503 100644 --- "a/\345\255\227\347\254\246\344\270\262\345\222\214\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217/\345\205\203\347\273\204.py" +++ "b/\345\255\227\347\254\246\344\270\262\345\222\214\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217/\345\205\203\347\273\204.py" @@ -6,12 +6,12 @@ tuple1 = (1, 5, 4, 8, 7) #访问元组与访问列表类似,可用下标 -print(tuple1[2]) -print(tuple1[3:]) +print(tuple1[2]) #4 +print(tuple1[3:]) #(8, 7) #拷贝元组 tmp = tuple1[:] -print(tmp) +print(tmp) #(1, 5, 4, 8, 7) #元组不可以被修改 #tuple1[2] = 9 @@ -22,11 +22,11 @@ #元组的乘法 tuple2 = 5 * (2, ) -print(tuple2) +print(tuple2) #(2, 2, 2, 2, 2) #增加元素(逗号和括号缺一不可) tuple1 = tuple1[:2] + ("hahaha",) + tuple1[2:] -print(tuple1) +print(tuple1) #(1, 5, 'hahaha', 4, 8, 7) #删除整个元组 del tuple2 diff --git "a/\345\255\227\347\254\246\344\270\262\345\222\214\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217/\345\255\227\347\254\246\344\270\262\347\232\204\346\240\274\345\274\217\345\214\226\351\227\256\351\242\230.py" "b/\345\255\227\347\254\246\344\270\262\345\222\214\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217/\345\255\227\347\254\246\344\270\262\347\232\204\346\240\274\345\274\217\345\214\226\351\227\256\351\242\230.py" index 8ca66c6..625d842 100644 --- "a/\345\255\227\347\254\246\344\270\262\345\222\214\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217/\345\255\227\347\254\246\344\270\262\347\232\204\346\240\274\345\274\217\345\214\226\351\227\256\351\242\230.py" +++ "b/\345\255\227\347\254\246\344\270\262\345\222\214\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217/\345\255\227\347\254\246\344\270\262\347\232\204\346\240\274\345\274\217\345\214\226\351\227\256\351\242\230.py" @@ -5,55 +5,55 @@ # format是字符串的格式化方法 # format接受位置参数和关键字参数 # 位置参数 -print("The {0} {1}: {2}:{3}".format("time", "is", "21", "17")) +print("The {0} {1}: {2}:{3}".format("time", "is", "21", "17")) #The time is: 21:17 # 关键字参数 -print("The {a} {b}: {c}:{d}".format(a = "time", b = "is", c = "21", d = "21")) +print("The {a} {b}: {c}:{d}".format(a = "time", b = "is", c = "21", d = "21")) #The time is: 21:21 # 位置参数和关键字参数结合使用,位置参数在前,关键字参数在后,否则报错 -print("The {0} {1}: {a}:{b}".format("time", "is", a = "21", b = "22")) +print("The {0} {1}: {a}:{b}".format("time", "is", a = "21", b = "22")) #The time is: 21:22 # 位置参数0的特殊使用 # ':'冒号表示格式化符号的开始 # '.2f'表示打印定点数 -print('{0:.2f}{1}'.format(21.2659, 'Hz')) +print('{0:.2f}{1}'.format(21.2659, 'Hz')) #21.27Hz # 字符串格式化符号含义及用法 # %c 格式化字符及其ASCII码 str1 = "%c" % 98 -print(str1) +print(str1) #b str1 = "%c->%c->%c" % (97, 98, 99) -print(str1) +print(str1) #a->b->c # %s 格式化字符串 str1 = "%s" % "just a test" -print(str1) +print(str1) #just a test # %d 格式化整数 -print("%d + %d = %d" % (21, 44, 21+44)) +print("%d + %d = %d" % (21, 44, 21+44)) #21 + 44 = 65 # %o 格式化无符号八进制数 -print("%o" % 10) +print("%o" % 10) #12 # %x 格式化无符号十六进制数 -print("%x" % 10) +print("%x" % 10) #a # %X 格式化无符号十六进制数(大写) -print("%X" % 10) +print("%X" % 10) #A # %f 格式化定点数,可指定小数点后的精度 -print("%.2f" % 21.4914) +print("%.2f" % 21.4914) #21.49 # %e 用科学计数法格式化定点数 -print("%e" % 21.49144914491449144914) +print("%e" % 21.49144914491449144914) #2.149145e+01 # %E 和%e相同 -print("%E" % 21.491449144914) +print("%E" % 21.491449144914) #2.149145E+01 # %g 根据值的大小决定使用%f或%e -print("%g" % 21.49144914491449144914) +print("%g" % 21.49144914491449144914) #21.4914 # %G 和%g相同 -print("%G" % 21.491449144914) +print("%G" % 21.491449144914) #21.4914 # 格式化操作符辅助命令 # m.n m是显示的最小总宽度,n是小数点后的位数 -print("%10.2f" % 21.5532) -print("%.2e" % 21.5532) +print("%10.2f" % 21.5532) # 21.55 +print("%.2e" % 21.5532) #2.16e+01 # - 左对齐 -print("%-f" % 21.56) +print("%-f" % 21.56) #21.560000 # + 在正整数前面显示加号+ -print("%+d" % 2157) +print("%+d" % 2157) #+2157 # # 在八进制数前显示零0,在十六进制数前显示0x或0X -print("%#o" % 15) -print("%#x" % 15) +print("%#o" % 15) #0o17 +print("%#x" % 15) #0xf # 0 显示的数字前面填充零0取代空格 -print("%010d" % 22) -print("%-010d" % 22) +print("%010d" % 22) #0000000022 +print("%-010d" % 22) #22 diff --git "a/\345\255\227\347\254\246\344\270\262\345\222\214\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217/\345\255\227\347\254\246\344\270\262\347\233\270\345\205\263\346\223\215\344\275\234.py" "b/\345\255\227\347\254\246\344\270\262\345\222\214\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217/\345\255\227\347\254\246\344\270\262\347\233\270\345\205\263\346\223\215\344\275\234.py" index a8a7e02..0aaba1d 100644 --- "a/\345\255\227\347\254\246\344\270\262\345\222\214\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217/\345\255\227\347\254\246\344\270\262\347\233\270\345\205\263\346\223\215\344\275\234.py" +++ "b/\345\255\227\347\254\246\344\270\262\345\222\214\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217/\345\255\227\347\254\246\344\270\262\347\233\270\345\205\263\346\223\215\344\275\234.py" @@ -9,170 +9,170 @@ # 首字符大写 str1 = "xiaoxie" str1 = str1.capitalize() -print(str1) +print(str1) #Xiaoxie # 字符串全部小写 str1 = "DA Xie He XIAO XIe" str1 = str1.casefold() -print(str1) +print(str1) #da xie he xiao xie # 转换字符串中所有大写字符为小写 str1 = "DA Xie He XIAO XIe" str1 = str1.lower() -print(str1) +print(str1) #da xie he xiao xie # 转换字符串中所有小写字符为大写 str1 = "da Xie He Xiao XIe" str1 = str1.upper() -print(str1) +print(str1) #DA XIE HE XIAO XIE # 翻转字符串中的大小写 str1 = 'Hello WORld' str2 = str1.swapcase() -print(str2) +print(str2) #hELLO worLD # 字符串居中,使用空格填充至给定长度 -str1 = str1.center(30) -print(str1) +str2 = str1.center(25) +print(str2) # Hello WORld # 返回一个左对齐的字符串,并用空格填充至长度为width str2 = str1.ljust(20) -print(str2) +print(str2) #Hello WORld # 返回一个右对齐的字符串,并用空格填充至长度为width str2 = str1.rjust(20) -print(str2) +print(str2) # Hello WORld # 返回长度为width的字符串,原字符串右对齐,前边用0填充 str2 = str1.zfill(30) -print(str2) +print(str2) #0000000000000000000Hello WORld # 返回子字符串sub在字符串中出现的次数,start和end表示范围 # count(sub[,start [,end]]) num = str1.count('xie') -print(num) +print(num) #0 # 判断字符串是否以sub子字符串结束 # endswith(sub[,start [,end]]) flag = str1.endswith('haha') -print(flag) +print(flag) #False # 判断字符串是否以prefix子字符串开始 # startwith(prefix[,start [,end]]) flag = str1.startswith('haha') -print(flag) +print(flag) #False # 将字符串中的tab符号(\t)转换为空格,默认空格数tabsize = 8 # expandtabs([tabsize=8]) str1 = 'shu\tjia\tlai\tla!' str1 = str1.expandtabs() -print(str1) +print(str1) #shu jia lai la! # 检测sub是否包含在字符串中,有则返回索引值,否则返回-1 # find(sub[,start [,end]]) num = str1.find('jia') -print(num) +print(num) #8 # rfind(sub[,start [,end]]) # 类似find,不过是从右边开始查找 num = str1.rfind('jia') -print(num) +print(num) #8 # index(sub[,start [,end]]) # 和find一样,不过,如果sub不在字符串中会产生一个异常 num = str1.index('la') -print(num) +print(num) #16 # rindex(sub[,start [,end]]) # 和index一样,不过是从右边开始 num = str1.rindex('la') -print(num) +print(num) #24 # 检测字符串中是否包含至少一个字符,且所有的字符都是字母或者数字,是则返回True,否则False flag = str1.isalnum() -print(flag) +print(flag) #False # 字符串中至少有一个字符且所有字符都是字母则返回True,否则False flag = str1.isalpha() -print(flag) +print(flag) #False # 判断字符串只包含十进制数字则返回True,否则返回False flag = str1.isdecimal() -print(flag) +print(flag) #False # 判断字符串只包含数字则返回True,否则返回False flag = str1.isdigit() -print(flag) +print(flag) #False # 判断字符串中只包含数字字符,则返回True,否则返回False flag = str1.isnumeric() -print(flag) +print(flag) #False # 字符串中至少包含一个区分大小写的字符,且这些字符都是小写,则返回True,否则False flag = str1.islower() -print(flag) +print(flag) #True str2 = '哈哈哈' flag = str2.islower() -print(flag) +print(flag) #False # 字符串中至少包含一个区分大小写的字符,且这些字符都是大写,则返回True,否则False flag = str1.isupper() -print(flag) +print(flag) #False # 字符串只包含空格,则返回True,否则返回False flag = str1.isspace() -print(flag) +print(flag) #False # 判断字符串标题化(所有单词有且仅有首字符大写),则返回True,否则False flag = str1.istitle() -print(flag) +print(flag) #False # 返回标题化的字符串 str2 = str1.title() -print(str2) +print(str2) #Shu Jia Lai La! # 以字符串作为分隔符,插入到sub中所有的字符之间 str2 = str1.join('哈哈哈哈哈') -print(str2) +print(str2) #哈shu jia lai la!哈shu jia lai la!哈shu jia lai la!哈shu jia lai la!哈 # 删除字符串左右的所有空格,chars参数可以指定删除的字符 # strip([chars]) str1 = ' aaabbbaaa ' str2 = str1.strip('a') -print(str2) +print(str2) # aaabbbaaa # 去掉字符串左边所有空格 str1 = ' just a test' str1 = str1.lstrip() -print(str1) +print(str1) #just a test # 去掉字符串末尾所有空格 str1 = 'just a test ' str1 = str1.rstrip() -print(str1) +print(str1) #just a test # 找到子字符串sub,把字符串分成一个3元组(pre_sub, sub, fol_sub) # 如果字符串中不包含sub则返回('源字符串', '', '') str2 = str1.partition('te') -print(str2) +print(str2) #('just a ', 'te', 'st') # rpartition(sub) # 类似patition,从右边开始查找 str2 = str1.rpartition('te') -print(str2) +print(str2) #('just a ', 'te', 'st') # 把字符串中的old子字符串替换成new子字符串,count指定替换次数 # replace(old, new[count]) str2 = str1.replace('test', 'joke') -print(str2) +print(str2) #just a joke # 不带参数默认是以空格作为分隔符切片字符串 # 如果maxsplit参数有设置,则仅分隔maxsplit个字符串,返回切片后的子字符串拼接的列表 # split(sep = None, maxsplit = -1) list1 = str1.split() -print(list1) +print(list1) #['just', 'a', 'test'] # 按照'\n'分隔,返回一个包含各行作为元素的列表 # 如果keepends参数指定,则返回前keepends行 # splitlines(([keepends])) str1 = ('just\na\ntest') str2 = str1.splitlines() -print(str2) +print(str2) #['just', 'a', 'test'] # 根据table的规则(可以由str.maketrans('a', 'b')定制)转换字符串中的字符 # translate(table) str1 = 'just a test' str2 = str1.translate(str.maketrans('s', 'b')) -print(str2) -print(str.maketrans('s', 'b')) +print(str2) #jubt a tebt +print(str.maketrans('s', 'b')) #{115: 98} diff --git "a/\345\255\227\347\254\246\344\270\262\345\222\214\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217/\345\272\217\345\210\227.py" "b/\345\255\227\347\254\246\344\270\262\345\222\214\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217/\345\272\217\345\210\227.py" index 2a75d2d..fd2b01e 100644 --- "a/\345\255\227\347\254\246\344\270\262\345\222\214\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217/\345\272\217\345\210\227.py" +++ "b/\345\255\227\347\254\246\344\270\262\345\222\214\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217/\345\272\217\345\210\227.py" @@ -10,13 +10,13 @@ # list()把一个可迭代对象转换为列表 a = list() -print(a) -b = "shu jia kai shi la" +print(a) #[] +b = "shu jia kai shi la!" b = list(b) -print(b) +print(b) #['s', 'h', 'u', ' ', 'j', 'i', 'a', ' ', 'k', 'a', 'i', ' ', 's', 'h', 'i', ' ', 'l', 'a', '!'] c = (1, 1, 2, 3, 5, 8, 13, 21, 34) c = list(c) -print(c) +print(c) #[1, 1, 2, 3, 5, 8, 13, 21, 34] # tuple()把一个可迭代对象转换为元组 # 和list()类似 @@ -29,37 +29,37 @@ # 空序列会报错 # 保证元素是同一种类型,否则报错 tuple1 = (1, 2, 3, 4, 5, 9, 0) -print(max(tuple1)) -print(max('s', 'h', 'u', ' ', 'j', 'i', 'a')) +print(max(tuple1)) #9 +print(max('s', 'h', 'u', ' ', 'j', 'i', 'a')) #u numbers = [2, 52, 61, 15, 8, -45] -print(max(numbers)) +print(max(numbers)) #61 chars = '154236890' -print(max(chars)) +print(max(chars)) #9 # min()返回序列或者参数集合中的最小值 # 和max()使用方法相同,作用相反 # sum(iterable[, start = 0]) 返回序列iterable和可选参数start的总和 tuple2 = (1.2, 3.2, 5.6) -print(sum(tuple2)) -print(sum(tuple2, 10)) +print(sum(tuple2)) #10.0 +print(sum(tuple2, 11)) #21.0 # sorted()返回排好序的列表,默认从小到大 # 和list.sort()类似 -print(sorted(numbers)) +print(sorted(numbers)) #[-45, 2, 8, 15, 52, 61] # reversed()返回迭代器对象 # list.reverse()逆转列表元素 -print(numbers) -print(reversed(numbers)) -print(list(reversed(numbers))) +print(numbers) #[2, 52, 61, 15, 8, -45] +print(reversed(numbers)) # +print(list(reversed(numbers))) #[-45, 8, 15, 61, 52, 2] # enumerate()生成由每个元素的索引值和本身值组成的元组 -print(enumerate(numbers)) -print(list(enumerate(numbers))) +print(enumerate(numbers)) # +print(list(enumerate(numbers))) #[(0, 2), (1, 52), (2, 61), (3, 15), (4, 8), (5, -45)] # zip(a, b)返回由各个参数的序列组成的元组 a = [2, 5, 6, 1, 4, 7, 9] b = [11, 41, 51, 61, 71] -print(zip(a, b)) -print(list(zip(a, b))) +print(zip(a, b)) # +print(list(zip(a, b))) #[(2, 11), (5, 41), (6, 51), (1, 61), (4, 71)]