字符串的内置方法(较多,重要)
lower&upper
old_code = 'KeViN' print('验证码:%s' % old_code) s = input('请输入验证码:>>>').strip() if old_code.lower() == s.lower(): # lower改为全小写 print('验证成功') elif old_code.upper() == s.upper(): # upper改为全大写 print('验证成功') else: print('验证失败')
startswith&endswith
res = 'hello oldBoy' print(res.startswith('h')) # True print(res.startswith('he')) # True print(res.endswith("y")) # True print(res.endswith('boy')) # False # startswith()判断字符串是否以括号内指定的字符开头,结果为布尔值True或False # endswith()判断字符串是否以括号内指定的字符结尾,结果为布尔值True或False
format
# 第一种玩法:format里的参数要和大括号一一对应
res = 'my name is {}, my age is {},{},{}'
print(res.format("kevin", 18, 18, 18)) # 第二种玩法:可以使用索引,斌企鹅索引可以反复使用 res = 'my name is {0}, my age is {1},{0},{1}, {2}' print(res.format('kevin', 18, 'aa')) # my name is kevin, my age is 18,kevin,kevin # 第三种玩法: res = 'my name is {name}, my age is {age},{age},{name}' print(res.format(name='kevin', age=18)) # my name is kevin, my age is 18,18,kevin
join
# 从可迭代对象中取出多个字符串,然后按照指定的分隔符进行拼接,拼接的结果为字符串 l = ['kevin', 'jack', 'tank', 'tony'] print("kevin" + '|' + 'jack' + '|' + 'tank''|' + 'tony') print('|'.join(l))
replace
#用新的字符替换字符串中旧的字符 res = 'my name is jack jack jack jack' print(res.replace("jack","kevin")) print(res.replace('jack','kevin',2))交换两个变量? m='10' n='20' res1=m+n m=res1.replace("10",'') n=res1.replace('20','') print(m,n)
isdigit
判断字符串是否为纯数字
字符串了解的方法
find
如果找到了,就返回第一次在字符串中出现的位置索引
当找不到指定的字符串的时候,返回-1
index
查找指定的字符串,如果找不到直接报错
count
查找某个字符串出现的次数
center,ljust,rjust,zfill
name = 'kevin' print(name.center(30, '*')) # ************kevin************* # 左对齐 print(name.ljust(30, '*')) # kevin************************* # 右对齐 print(name.rjust(30, '*')) # *************************kevin # zfill print(name.zfill(30)) # 0000000000000000000000000kevin
capitalize,swapcase,title
message = 'hello everyone nice to meet you!' print(message.capitalize()) # Hello everyone nice to meet you! print(message.swapcase()) # HELLO EVERYONE NICE TO MEET YOU! print(message.title()) # Hello Everyone Nice To Meet You!
列表(list)
类型转换 把字符串转为列表 print(list('hello')) # ['h', 'e', 'l', 'l', 'o'] print(list([1, 2, 3, 4])) # [1, 2, 3, 4] print(list({'username':'kevin', 'age':18})) # ['username', 'age'] print(list((1, 2, 3, 4))) # [1, 2, 3, 4] print(list({1, 2, 3, 4})) # [1, 2, 3, 4] # list关键字可以把支持for循环的数据类型都转为列表 添加元素: 2. 添加元素 方式1:res=names_list.append('ly') # 它是在末尾追加元素print(res) # None:空print(names_list) names_list = ['kevin', 'tank', 'jack', 'tony', [11, 22, 33]] names_list = ['kevin', 'tank', 'jack', 'tony', 11, 22, 33] names_list.append([11, 22, 33]) # ['kevin', 'tank', 'jack', 'tony', [11, 22, 33]] 如果追加的是列表,会把列表整个元素都添加进去 print(names_list) names_list = ['kevin', 'tank', 'jack', 'tony'] 方式2:names_list.insert(0, 666)names_list.insert(2, 999)names_list.insert(1, [1, 2, 3])print(names_list) 方式3:extend扩展元素,是用来做列表的合并的 names_list.extend([1, 2, 3, 4]) # ['kevin', 'tank', 'jack', 'tony', 1, 2, 3, 4]print(names_list) l = [1, 2, 3, 4] for i in l: names_list.append(i) # ['kevin', 'tank', 'jack', 'tony', 1, 2, 3, 4] print(names_list) 删除元素 names_list = ['kevin', 'tank', 'jack', 'tony', 11, 22, 33] 方式1:del names_list[0] # del ------> deletedel names_list[0] # del ------> deletedel names_list[0] # del ------> delete print(names_list) 方式2:res=names_list.remove('kevin') # 直接写元素值,而不是索引print(res) # Noneprint(names_list) 方式3:弹出元素 res=names_list.pop() # ['kevin', 'tank', 'jack', 'tony', 11, 22] res=names_list.pop(1) # ['kevin', 'tank', 'jack', 'tony', 11, 22]print(res) # 33 print(res) # tank print(names_list)
可变类型与不可变类型
可变类型:列表、字典
改变的是原来的值, 它的内存地址没有改变,
不可变类型:字符串、整型、浮点型
不改变原值,它改变内存地址
列表需要了解的方法
lst = [9, 8, 7, 1, 2, 3, 4, 5, 6]
s = ['kevin', 'tank', 'jack', 'xyz']
lst.sort() # [1, 2, 3, 4, 5, 6, 7, 8, 9]
lst.sort(reverse=True) # [9, 8, 7, 6, 5, 4, 3, 2, 1]
s.sort() # ['jack', 'kevin', 'tank', 'xyz']
print(s)
print(lst) #
l1 = [1, 2, 3]
l2 = [1, 2, ]
print(l1 > l2) # False
队列和栈的概念
队列和栈的概念是在数据结构里面存在的
链表、单链表、双链表、循环链表、栈、队列、树、二叉树、平衡二叉树、红黑树、b树、b+树、b-树、图
队列:先进先出
栈:先进后出