字符串,列表部分内置方法
字符串剩余内置方法
如何快速查看数据的方法;句点符(.)
ctrl+鼠标左键可以查看底层源码
1.字母大小转变:.upper(),.lower(),isupper(),islower()
#实际案例:图片验证码忽略大小写。
name = 'jaSon,Tony'
1.字母大写转变:.upper()
print(name.upper())
JASON,TONY
2.字母小写转变:.lower()
print(name.lower())
3.判断是否纯大写:.isupper()
print(name.isupper())
False
4.是否纯小写:.islower
print(name.islower)
False
2.判断字符串是否以指定的字符开头:.starswith(),.endswith()
#判断之后得到是值是True或者False
l = 'jasom 123 nema oldboy'
1.是否指定的字符;.startswith()
print(l.startswith('name'))
False
print(l.startswith('j'))
True
print(l.startswith('ja'))
True
print(l.startswith('jas'))
True
2.是否指定的字符结尾:.endswith
print(l.endswith(girl))
False
print(l.endswith(y))
True
print(l.endswith(oldboy))
True
3.格式化输出:.format()
#与用户交互;占位符 %s %d
#字符串内置方法;format()
#数据量不是很大的时候可以使用%s,需要代替的数据需要重复的时候可以使用.format()
1.相当于%s占位符==有几个{}就要有几个数据替换
i = 'my name is {} my age is {}'
print(i.format('tony',18))
my nema is tony my age is 18
2.{}内可以添加数字,相当于索引,取出相应需要代替的 数据的索引位置,可以根据索引添加新的数据
i = 'my name is {1} my age is {0}'
print(i.format('tony',18))
my name is 18 my age is tony
i = 'my name is {1} my age is {0}{1}{0}{0}'
print(i.format('tony',18))
my name is 18 my age is tony 18 tony tony
3.可以根据在{}内添加变量名添加数据,与2.相同
i = 'my name is {name1} my age is {age1}'
print(i.format('naem1='tony',age1=18))
my name is name1 my age is 18
4.字符串的拼接:.join()
1.通过+进行拼接
print('hello'+'world')
helloworld
2.通过.join()拼接#在Python中不同数据类型没有办法直接操作
拼接字符串str
a = 'hello worid!','hehe'
print(''.join(a))
hello worid!hehe
#''内部不添加字符则两个字符串正常拼接
a = 'hello worid!','hehe'
print('@'.join(a))
hello worid!@hehe
#''内部不添加字符则两个字符串正常拼接,添加字符则在两个字符串中间
a = 'hello worid!hehe'
print('@'.join(a))
h@e@l@l@o@ @w@o@r@i@d@!@h@e@h@e
#如果是一个字符串''内出添加符号则每个字母空格之间都会出现字符@
拼接列表list#(列表拼接后变成字符串类型)
a = ["123", "456"]
print(''.join(a))
123456
#''内部有符号则拼接之后会出现在两个数据中间'@'>>>123@456
拼接字典dict#拼接之后为字符串
a = {"name":"tony","age":'18'}
print(''.join(a))
nameage
#''内部有符号则拼接之后会出现在两个数据中,
#字典拼接的到的是K的值
5.替换字符串中的指定字符:.replace()
替换指定字符;.replace#hehe >>> haha
a = 'hello worid!hehe'
print(a.replace('hehe','haha'))
hello worid!haha
#直接替换指定的字符(字符串相当于一个整体,里面的字母空格都算数据,hehe相当于相邻的的数据)
#a = 'hello worid!hehe'
#print(a.replace('','www'))
#''内如果不添加任何数值就会把haha添加到每个字符
#wwwhwwwewwwlwwwlwwwowww wwwwwwwowwwrwwwiwwwdwww!wwwhwwwewwwhwwwewww
a = 'hello worid!hehe'
print(a.replace('h','www',2))
wwwello worid!wwwehe
#可以在后面在添加数字表示要替换掉几个!
#ctrl+鼠标左键可以查看底层
6.判断字符串中是否是纯数字:.isdigit()
#纯数字为True。
是否纯数字:.isdigit()
a = input('请输入;').strip() #用户输入
if a.isdigit: #判断是否为纯数字
else:
7.了解.title(),.captalize(),.swapcase(),.fiind(),.index(),.count(),.center(),.isalnum(),.isalpha()
1.字体格式
1..title()#字符串的单词首字母大写
a = 'hello worid!hehe'
print(a.title())
Hello Worid!Hehe
2..captalize()#将字符串开头的首字母大写
a = 'hello worid!hehe'
print(a.capitalize())
Hello worid!hehe
3..swapcase()#将字符串内的大小写进行互换
a = 'hello woRiD!HehE'
print(a.swapcase())
HELLO WOrId!hEHe
2. 查找指定字符对应的起始索引值
1..find()#()内添加要找的字符,可以是连续字符,从左往右依次查找,找到第一个就结束,找不到返回-1,可以限制范围
a = 'ello worid!hehe'
print(a.find('h'))
11
a = 'ello worid!hehe'
print(a.find('s'))
-1
2..index()#()内添加要找的字符,可以是连续字符,从左往右依次查找,找到第一个就结束,找不到'报错'。
a = 'ello worid!hehe'
print(a.index('h'))
11
3.统计某个字符出现的次数
.count()#()内添加想要统计的字符
a = 'hello worid!hehe'
print(a.count('h'))
3
4.居中展示,填充字符
.center()#()内部填充数字表示字符整体长度加上要填充的字符
a = 'hello'
print(a.center(18,'@'))
@@@@@@hello@@@@@@@
.ljust()#左对齐hello@@@@@@@@@@@@@
.rjiust()#右对齐 @@@@@@@@@@@@@hello
5.检测字符串
1.判断字符串中 包含数字和字母
.isalnum()
a = 'hello123'
print(a.isalnum())
True
2.判断字符串中是否只包含字母
.isalpha()
a = 'hello123'
print(a.isalpha())
False
列表内置方法
列表内一般都会储存相同的数据类型的数据
类型转换:类标类型关键字(需要转换的数据)
list关键字可以将支持for循环的数据类型转换成列表
1.数据类型转换成列表
1.列表不能把int,float转换为列表,会报错。
2.将字符串转换为列表
a = 'hello'
print(list(a))
['h', 'e', 'l', 'l', 'o']
#将一个字符串转换为列表的多个值
3.将字典转换为列表
a = {'name':'tony','age':'28'}
print(list(a))
['name', 'age']
#将字典中的K值取出做成列表
4.将元组转换为列表
a = (11,22,33)
print(list(a))
[11, 22, 33]
5.将集合转换为列表
a = {11,22,33}
print(list(a))
[33, 11, 22]
2.列表的内置简单操作
1. 索引取值
a = ['qqq','www','eee','rrr','ttt','yyy']
print(a[0])
qqq
#索引取值取出来的是字符串
2.切片操作,顾头不顾尾
a = ['qqq','www','eee','rrr','ttt','yyy']
print([2:5])
['eee', 'rrr', 'ttt']
#可以负数取值
a = ['qqq','www','eee','rrr','ttt','yyy']
print(a[-4:-1])
['eee', 'rrr', 'ttt']
3.步长
a = ['qqq','www','eee','rrr','ttt','yyy']
print([2:5:2])
['eee', 'ttt']
#取范围内的值并跳一个元素
4.统计列表中元素的个数
a = ['qqq','www','eee','rrr','ttt','yyy']
print(len(a))
6
3.列表的增,改操作重要操作
增,删,改,查
.append(),.insert(),extend(),append()
1.修改值
a = ['qqq','www','eee','rrr','ttt','yyy']
a[3] = '555'
print(a)
['qqq', 'www', 'eee', '555', 'ttt', 'yyy']
#通过一个变量赋值给列表索引的一个值,可以替换当前列表内的值
2.添加值
1.尾部追加:.eppend()
a = ['qqq','www','eee','rrr','ttt','yyy']
a.append('kkk')
print(a)
['qqq', 'www', 'eee', 'rrr', 'ttt', 'yyy', 'kkk']
#追加字符串为李彪内添加一个值,追加列表为添加一个列表(把括号内当做一个整体添加到列表)
2.插入元素.insert()
a = ['qqq','www','eee','rrr','ttt','yyy']
a.insert(2,'heihei')
print(a)
['qqq', 'www', 'heihei', 'eee', 'rrr', 'ttt', 'yyy']
#插入的数字为索引值,索引值是几就插入到哪个值的位置,插入列表也是当成一个整体,插入到指定位置
3.扩展元素.extend()
a = ['qqq','www','eee','rrr','ttt','yyy']
a.extend([111,222,333,444])
print(a)
['qqq', 'www', 'eee', 'rrr', 'ttt', 'yyy', 111, 222, 333, 444]
#.extend()为扩展,可以将列表扩展进去,数值是一个一个进去的,可以用for循环加.eppend()
a = ['qqq','www','eee','rrr','ttt','yyy']
b = ['z','x','c','v']
for i in b:
a.append(i)
print(a)
['qqq', 'www', 'eee', 'rrr', 'ttt', 'yyy', 'z', 'x', 'c', 'v']
#循环给b里面的值赋值给i然后依次添加到a里面,最后打印循环结束的a如果a跟a.append(i)平齐那打印的就会是每次添加进去的值,因为列表内有四个元素,打印四次
['qqq', 'www', 'eee', 'rrr', 'ttt', 'yyy', 'z']
['qqq', 'www', 'eee', 'rrr', 'ttt', 'yyy', 'z', 'x']
['qqq', 'www', 'eee', 'rrr', 'ttt', 'yyy', 'z', 'x', 'c']
['qqq', 'www', 'eee', 'rrr', 'ttt', 'yyy', 'z', 'x', 'c', 'v']
4.列表删除数据
del,.remove(),.pop()
1.通用的删除方式 del delete的缩写
a = ['qqq','www','eee','rrr','ttt','yyy']
del a [2]
print(a)
['qqq', 'www', 'rrr', 'ttt', 'yyy']
#根据索引的值定点删除指定的值
2.括号内指定移除的元素值 .remove()
a = ['qqq','www','eee','rrr','ttt','yyy']
a.remove('rrr')
print(a)
['qqq', 'www', 'eee', 'ttt', 'yyy']
#根据括号内的内容移除指定的值
3.括号内指定需要弹出的元素索引值 .pop()
a = ['qqq','www','eee','rrr','ttt','yyy']
a.pop(2)
print(a)
['qqq', 'www', 'rrr', 'ttt', 'yyy']
#移除括号内索引值指定的元素索引值,如果括号内什么都没有那就采取‘末尾淘汰制’,
#.remove()指定移除的那就是数据已经删除
print(a.('qqq'))
None
# .pop()与.remove()是将指定数据先将数据拿出,可以赋值变量名,需要的时候使用
print(a.('qqq'))
qqq
#注意可变类型与不可变类型
5.可变类型和不可变类型
1.可变类型; list
值改变,内存地址不变,修改的是原值
2.不可变类型; int , float , str
值改变,内存地址肯定变,产生了新值
原值还存在,可以赋予新的变量名
浙公网安备 33010602011771号