基本数据类型内置方法补充

字符串的其他内置方法

图片名称

常见操作

1.移除字符串首尾的指定字符,可以自定义方向

str1 = '^^^^^trump^^^^^'
print(str1.strip('^'))  # trump
print(str1.lstrip('^'))  # trump^^^^^,移除字符串左边的指定字符      
print(str1.rstrip('^'))  # ^^^^^trump,移除字符串左边的指定字符   

2.大小写相关操作

str2 = 'WlcOmETOChInA999'
print(str2.lower())  # 将所有的英文字母转化为小写wlcometochina999
print(str2.upper())  # 将所有的英文字母转化为大写WLCOMETOCHINA999
print(str2.isupper())  # 判断字符串中所有的英文字母是否是纯大写,布尔值为False
print(str2.islower())  # 判断字符串中所有的英文字母是否是纯小写,布尔值为False
# 验证码忽略大小写
verification_code = 'Q7w8'  # 设定验证码
print('验证码是:{}'.format(verification_code))  # 把验证码显示给用户看
inp_user_code = input('请输入您看见的图片验证码>>>:').strip()
if verification_code.upper() == inp_user_code:  # 验证码统一转大写或者小写都可以
    print('验证码正确')

3.判断字符串的开头或者结尾是否是我们指定的字符

str3 = 'From small beginnings comes great things'
print(str3.startswith('f'))  # 布尔值为False
print(str3.startswith('From'))  # 布尔值为True
print(str3.startswith('small'))  # 布尔值为False
print(str3.endswith('thing'))  # 布尔值为False
print(str3.endswith('things'))  # 布尔值为True
print(str3.endswith('comes'))  # 布尔值为False

4.格式化输出

图片名称
  1. fomat用法1:跟占位符相似,区别在于使用的{}占位
str4 = "American president's name is {}, his age is {}"  # 定义格式化输入模板
print(str4.format('biden', 83))  # 关键字替换
  1. fomat用法2:根据索引取值,可以反复使用
str5 = "American president's name is {0} {0}, his {0} age is {1}"  # 定义格式化输入模板
print(str5.format('biden', 83))  # 根据索引关键字替换
  1. 根据关键字的名字替换
str6 = "American president's name is {name} {name}, his {name} age is {age}"  # 定义格式化输入模板
print(str6.format(name='biden', age=83))  # 根据关键字的名字替换
  1. 根据出现已经定义过的变量替换
name = 'biden'  # 定义名字变量
age = 83  # 定义年龄变量
print(f"American president's name is {age} {name} {name}, his {name} age is {age}")  # 根据出现已经定义过的变量替换

5. 拼接字符串

str7 = '仙路尽头谁为峰 一见无始道成空'
str8 = '沧海成尘几万秋 道尽黄发长生愁'
print(str7 + str8)  # 仙路尽头谁为峰 一见无始道成空沧海成尘几万秋 道尽黄发长生愁
print(str8 * 5)  # 打印五次
print('|'.join(str7))  # 仙|路|尽|头|谁|为|峰| |一|见|无|始|道|成|空
print('………'.join(['仙路尽头谁为峰', '一见无始道成空']))  # 仙路尽头谁为峰………一见无始道成空
print('^'.join([str8, str7]))  # 沧海成尘几万秋 道尽黄发长生愁^仙路尽头谁为峰 一见无始道成空

6. 替换字符串中指定的字符

图片名称
# 将money替换成power
print(str9.replace('money', 'power'))  # 不指定替换的个数时,默认一次性替换所有
# 指定替换的个数
print(str9.replace('money', 'power', 2))  # 还可以通过第三个数字控制替换的个数,方向是从左往右

7. 判断字符串中是否是整数(整型)

str10 = 'sleepjoe111' # 定义变量
str11 = '110.120'  # 定义变量
str12 = '8888888'  # 定义变量
print(str10.isdigit())  # 判断结果为False
print(str11.isdigit())  # 判断结果为False
print(str12.isdigit())  # 判断结果为True
# 学生成绩输入系统
stu_score = input('please enter your exam score>>>:')  # 输入成绩
if stu_score.isdigit() and 0 <= int(stu_score) <= 100:  # 判断字符串是否为整数和在0-100之间
    stu_score = int(stu_score)  # 字符串转化为整数
    print('你的成绩是', stu_score, '分')  # 打印成绩
else:  # if条件不成立,执行else子代码
    print('胡乱填写,下次考试卷面扣十分')
图片名称

需要了解的操作

1.查找指定字符对应的索引值

str1 = 'Nothing is impossible to a willing heart'
print(str1.find('g'))  # 结果为6,从左往右查找,查找一个就结束
print(str1.find('0', 1, 9))  # 结果是-1,意思是没找不到
print(str1.index('w'))  # 结果为27
print(str1.index('i', 1, 9))  # 结果为4,找不到会报错,不推荐使用

2.文本位置改变

str2 = 'success'
print(str2.center(15, '^'))  # ^^^^success^^^^
print(str2.ljust(15, '%'))  # success%%%%%%%%
print(str2.rjust(15, '-'))  # --------success
print(str2.zfill(15))  # 00000000success

3.特殊符号

print('Noth\aing i\rs impo\nssible')  # s impo 会换行ssible,斜杠与一些英文字母的组合会产生特殊的含义
print(r'Noth\aing i\rs impo\nssible')  # Noth\aing i\rs impo\nssible,在字符串的前面加一个字母r会取消它们的特殊含义
图片名称

4.首字母大写,大小写翻转,每个单词的首字母大写

# 1.captalize:首字母大写
sentence = 'by falling we learn to go safely!'
sentence.capitalize()  
print(sentence)
# 2.swapcase:大小写翻转
sentence2 = 'by falling we learn to go safely!'
print(sentence2.swapcase())  # BY FALLING WE LEARN TO GO SAFELY!
# 3.title:每个单词的首字母大写
sentence3 = 'by falling we learn to go safely!'
print(sentence3.title())  # By Falling We Learn To Go Safely!

列表内置方法

一.类型转换

# print(list(11))  # 报错
# print(list(11.11))  # 报错
# print(list(True))  # 报错
print(list('success'))  # ['s', 'u', 'c', 'c', 'e', 's', 's']
print(list({'height': '175cm', 'weight': '55kg'}))  # ['height', 'weight']
print(list((88, 72, 63, 54, 43)))  # [88, 72, 63, 54, 43]
print(list({88, 72, 63, 54, 43}))  # [72, 43, 54, 88, 63]
# list可以转换支持for循环的数据类型,包括字符串,字典,元组,集合
图片名称

二、常见操作

1.索引取值

print(student_name_list[0])  # vive
print(student_name_list[-1])  # maly

2.切片操作

print(student_name_list[1:4])  # ['jack', 'michael', 'maly']
print(student_name_list[-4:-1])  # ['vive', 'jack', 'michael']
print(student_name_list[-1:-4:-1])  # ['maly', 'michael', 'jack']

3.间隔

print(student_name_list[0:4:1])  # ['vive', 'jack', 'michael', 'maly']
print(student_name_list[0:4:2])  # ['vive', 'michael']
print(student_name_list[-1:-4:-1])  # ['maly', 'michael', 'jack']

4.统计列表中元素的个数

print(len(student_name_list))  # 4

5.成员运算

print('j' in student_name_list)  # False,注意最小判断单位是元素不是元素里面的单个字符
print('jack' in student_name_list)  # True

6.列表添加元素的方式

1.尾部追加'单个'元素
student_name_list = ['vive', 'jack', 'michael', 'maly', 'annie']
student_name_list.append('老王')
print(student_name_list)  # ['vive', 'jack', 'michael', 'maly', 'annie', '老王']
student_name_list.append(['小王', '张三', '胖虎'])
print(student_name_list)  # ['vive', 'jack', 'michael', 'maly', 'annie', '老王', ['小王', '张三', '胖虎']]
2.指定位置插入'单个'元素
student_name_list.insert(4, '大熊')
student_name_list.insert(3, 'OBAMA')
student_name_list.insert(3, ['熊大', '熊二'])
print(student_name_list)  # ['vive', 'jack', 'michael', ['熊大', '熊二'], 'OBAMA', 'maly', '大熊', 'annie', '老王', ['小王', '张三', '胖虎']]
3.合并列表
# 方式一
student_name_list.extend(['悟空', '八戒'])  # extend其实可以看成是for循环+append
print(student_name_list)  # ['vive', 'jack', 'michael', ['熊大', '熊二'], 'OBAMA', 'maly', '大熊', 'annie', '老王', ['小王', '张三', '胖虎'], '悟空', '八戒']
# 方式二
for i in ['悟空', '八戒']:
    student_name_list.append(i)
print(student_name_list)  # ['vive', 'jack', 'michael', ['熊大', '熊二'], 'OBAMA', 'maly', '大熊', 'annie', '老王', ['小王', '张三', '胖虎'], '悟空', '八戒', '悟空', '八戒'],如果把方式一代码注释,结果就一样
图片名称

7.删除元素

# 1.通用的删除方式
student_name_list = ['vive', 'jack', 'michael', 'maly', 'annie']
del student_name_list[0]
print(student_name_list)  # ['jack', 'michael', 'maly', 'annie']
# 2.就地删除 
print(student_name_list.remove('maly'))  # None,按照元素名称直接删除某个元素
print(student_name_list)  # ['jack', 'michael', 'annie']
# 3.延迟删除
print(student_name_list.pop())  # annie,默认延迟删除尾部元素
print(student_name_list)  # ['jack', 'michael']
print(student_name_list.pop(1))  # michael,可以指定索引值
print(student_name_list)  # ['jack']

8.修改列表元素

student_name_list = ['vive', 'jack', 'michael', 'maly', 'annie']
print(id(student_name_list[0]))  # 2232612999720
student_name_list[3] = 'trump'
print(id(student_name_list[0]))  # 2232612999720
print(student_name_list)  # ['vive', 'jack', 'michael', 'trump', 'annie']

9.排序

list1 = [555, 415, 122, 222, 66, 99, 44, 2222, 335]
list1.sort()  # 默认是升序
print(list1)  # [44, 66, 99, 122, 222, 335, 415, 555, 2222]
list1.sort(reverse=True)  # 可以修改为降序
print(list1)  # [2222, 555, 415, 335, 222, 122, 99, 66, 44]

10.翻转

list1 = [555, 415, 122, 222, 66, 99, 44, 2222, 335]
list1.reverse()  # 前后颠倒
print(list1)  # list1 = [555, 415, 122, 222, 66, 99, 44, 2222, 335]

11.比较运算

list1 = [555, 415, 122, 222, 66, 99, 44, 2222, 335]
list2 = [888, 446, 120]
print(list1 > list2)  # False,列表在做比较的时候,比的是对应索引位置上的元素
s1 = ['D', 'C', 'B', 'A']
s2 = ['d', 'a']
print(s1 > s2)  # False
print(list1.index(2222))  # 7

12.统计列表中某个元素出现的次数

list1 = [555, 415, 122, 222, 66, 99, 44, 2222, 335]
print(list1.count(222))  # 统计元素222出现的次数,次数为1
list1.clear()  # 清空列表
print(list1)  # []
图片名称
posted @ 2022-03-09 21:00  一梦便是数千载  阅读(25)  评论(0编辑  收藏  举报