字符串的内置方法
1. strip
strip方法:可以移除字符串首尾的指定字符,可以选择方向
s1 = \'&&&zhangqiang&&&\'
print(s1.strip(\'&\')) # zhangqiang
print(s1.lstrip(\'&\')) # zhangqiang&&&
print(s1.rstrip(\'&\')) # &&&zhangqiang
2.大小写操作
s2 = \'NIhAo\'
s2.lower() #将所有的英文字母变为小写的 nihao
s2.upper() #所有字母变成大写 NIHAO
s2.islowe() #判断字符串中所有字母是否都是小写 结果是布尔值
s2.isupper() #判断字符串中所有字母是否都是大写 结果是布尔值
3.判断字符串的开头或者结尾是否有指定的字符
s3 = \'hi 你今天过的怎么样\'
print(s3.startswith(\'h\')) # True
print(s3.startswith(\'i\')) # False
print(s3.startswith(\'hi\')) # True
print(s3.endswith(\'样\')) # True
print(s3.endswith(\'么\')) # False
print(s3.endswith(\'你今天过的怎么样\')) # True
4.格式化输出
format方法的四种用法:
1、跟占位符一样,使用{}占位:
print(\'你好我叫{}今年{}岁 身高是{}\'.format(\'name\',20,183))
2、根据索引取值:
print(\'my name is {0} {0} my age is {0} {1}\'.format(\'jason\', 18))
3、根据指名道姓的方式取值
print(\'我们一个有{su}人,分别是{name},{name2},{name3}\'.format(name=\"zq\",name2=\'cy\',name3=\'ajr\',su=3))
4.直接使用已经出现的变量
print(f\'你的账号是{name},密码是{password}\')
#注意这个方法需要在字符串前加一个f
5.拼接字符串
s1 = \'年少不知富婆香\'
s2 = \'错把少女当成宝\'
print(s1 + s2) #如果数据较大,会占用比较大的空间,并且时间花的多
print(s * 10) #直接重复10次
print(\'|\',join(s1)) #年|少|不|知|富|婆|香
print(\'$\'.join([\'jason\', \'kevin\', \'justin\', \'tony\']))
# jason$kevin$justin$tony
\'\'\'join方法相当于是将括号内的元素进行for循环\'\'\'
l1 = [11, \'jason\', \'kevin\'] #报错!!!
print(\'|\'.join(l1)) #报错!!!join的元素必须都是字符串才可以
6.替换字符串中指定的字符
s6 = \'jason is DSB DSB DSB DSB jason jason jason\'
将jason替换成老刘
print(s6.replace(\'jason\', \'老刘\')) # 默认一次性替换所有
指定替换的个数
print(s6.replace(\'jason\', \'老刘\', 2)) # 还可以通过数字控制替换的个数 从左往右
\'\'\'很多文本编辑器里面的替换功能 就可以使用replace完成\'\'\'
7.判断字符串中是否是纯数字
s7 = \'jason123\'
print(s7.isdigit()) # False
print(\'123\'.isdigit()) # True
print(\'123.21\'.isdigit()) # False
score = input(\'score>>>:\')
if score.isdigit():
score = int(score)
else:
print(\'你他喵的能不能好好写\')
8.需要了解的一些字符串操作
1.查找指定字符对应的索引值
s1 = \'今天是个好日子\'
print(s1.find(\'好\')) #从左往右查找
print(s1.find(\'n\',1,5)) #输出-1 就是没有找到
print(s1.index(\'好\'))
print(s1.index(\'n\')) #找不到直接报错,没有返回值
2.文本位置改变
name = \'zhangqiang\'
print(name.center(30, \'-\')) # ------------tony-------------
print(name.ljust(30, \'*\')) # zhangqiang**************************
print(name.rjust(30, \'$\')) # $$$$$$$$$$$$$$$$$$$$$$$$$$zhangqiang
print(name.zfill(50)) # zero 零 0000000000000000000000000000000000000000000000zhangqiang
3.特殊符号:斜杠与一些英文字母的组合会产生特殊的含义
print(\'ja\\tson\\nke\\avin\')
\'\'\'如果想取消它们的特殊含义 可以在字符串的前面加一个字母r\'\'\'
print(r\'ja\\tson\\nke\\avin\')
4.captalize,swapcase,title
4.1 captalize:首字母大写
message = \'hello everyone nice to meet you!\'
message.capitalize()
Hello everyone nice to meet you!
4.2 swapcase:大小写翻转
message1 = \'Hi girl, I want make friends with you!\'
message1.swapcase()
hI GIRL, i WANT MAKE FRIENDS WITH YOU!
4.3 title:每个单词的首字母大写
msg = \'dear my friend i miss you very much\'
msg.title()
Dear My Friend I Miss You Very Much
列表的内置方法
1.类型转换
print(list(123)) # 报错
print(list(123.4)) # 报错
print(list(\'jason\')) # [\'j\', \'a\', \'s\', \'o\', \'n\']
print(list({\'name\': \'jason\', \'pwd\': 123})) # [\'name\', \'pwd\']
print(list((11,22,33,44,55))) # [11, 22, 33, 44, 55]
print(list({1, 2, 3, 4, 5})) # [1, 2, 3, 4, 5]
\"\"\"
list可以转换支持for循环的数据类型
可以被for循环的数据类型
字符串 列表 字典 元组 集合
\"\"\"
2.取值的相关操作
name_list = [\'张三\',\'李四\',\'王五\',\'牛六\',\'狗蛋\']
1.索引取值
print(name_list[0]) # \'张三\'
print(name_list[-1]) # \'狗蛋\'
2.切片操作
print(name_list[1:3]) # [\'李四\', \'王五\']
print(name_list[-3:-1]) #[\'王五\', \'牛六\']
3.统计列表中元素的个数
print(len(name_list)) # 5
4.成员运算 最小判断单位是元素不是元素里面的单个字符
print(\'张\' in name_list) # False
print(\'李四\' in name_list) # True
5.列表添加元素的方式
5.1name_list.append(\'狗剩\')
#name_list = [\'张三\',\'李四\',\'王五\',\'牛六\',\'狗蛋\',\'狗剩\']
指定位置插入\'单个\'元素 #可以插入各种类型
5.2name_list.insert(1, \'狗剩\')
#name_list = [\'张三\',\'狗剩\',\'李四\',\'王五\',\'牛六\',\'狗蛋\']
5.3合并列表
#name_list =[\'张三\', \'李四\', \'王五\', \'牛六\', \'狗蛋\', 11, 22, 33, 44, 55]
6.删除元素
6.1通用的删除方式
del name_list[0]
print(name_list)
6.2指定删除元素
name_list.remove(\'张三\')
6.3延迟删除
print(name_list.pop()) #从尾部开始弹出 数据并没有直接删除
print(name_list.pop(2)) # 还可以指定索引值
8.修改列表元素
name_list[0] = \'张蛋\'
#name_list = [\'张蛋\',\'李四\',\'王五\',\'牛六\',\'狗蛋\']
9.排序
ss = [44, 77, 99, 11, 22, 33, 88, 66]
ss.sort() # 默认是升序
print(ss) # [11, 22, 33, 44, 66, 77, 88, 99]
ss.sort(reverse=True) # 可以修改尾降序
print(ss) # [99, 88, 77, 66, 44, 33, 22, 11]
10.翻转
ss = [44, 77, 99, 11, 22, 33, 88, 66]
ss.reverse() # 前后颠倒
print(ss)
# ss = [66, 88, 33, 22, 11, 99, 77, 44]
11.比较运算
s1 = [11, 22, 33]
s2 = [1, 2, 3, 4, 5, 6, 7, 8]
print(s1 > s2) # True
\"\"\"列表在做比较的时候 其实比的是对应索引位置上的元素\"\"\"
s1 = [\'A\', \'B\', \'C\'] # A>>>65
s2 = [\'a\'] # a>>>97
print(s1 > s2) # False
ss = [44, 77, 99, 11, 22, 33, 88, 66]
print(ss.index(99))
12.统计列表中某个元素出现的次数
l1 = [11, 22, 33, 44, 33, 22, 11, 22, 11, 22, 33, 22, 33, 44, 55, 44, 33]
print(l1.count(11)) # 统计元素11出现的次数
l1.clear() # 清空列表
print(l1)
可变类型与不可变类型
\"\"\"
可变类型与不可变类型
可变类型 列表
值改变 内存地址不变 修改的是本身
不可变类型 字符串
值改变 内存地址肯定遍 修改过程产生了新的值
如何查看变量的\'内存地址\'
\"\"\"
s1 = \'$$$jason$$$\'
print(s1.strip(\'$\')) # jason 本身并没有修改 可变类型与不可变类型
print(s1) # $$$jason$$$
s2 = [1, 2, 3]
print(s2.extend([11, 22, 33, 44, 55])) # None 空
print(s2) # [1, 2, 3, 11, 22, 33, 44, 55]
来源:https://www.cnblogs.com/zq0408/p/15987385.html
本站部分图文来源于网络,如有侵权请联系删除。