day07字符串与列表
字符串的内置方法
lower upper
startswitch endwhich
格式化输出 format
join的用法
replace替换字符串
isdigit判断
字符串需要了解的方法
列表的内置方法(重点)
lower upper
str = 'HelloWORld'
print (str.lower) # helloworld全部变成小写
print(str.upper) #HELLOWORLE变成大写
"""
图片验证码不区分大小写
思路:把用户输入的验证码全部转为大写或者小写,跟原来的验证码都转为大写或者小写进行比较
"""
# old_code = 'oldBoY'
# print('返回给你的验证码是:%s' % old_code)
# # 用户输入的验证码
# real_code=input('请输入验证码:')
if old_code.upper() == real_code.upper(): # if old_code.lower() == real_code.lower():
# print('验证码输入正确')
# else:
# print('验证码错误')
# 补充:
print(res.islower()) # False
print(res.isupper()) # False
a ='hello'
print(a.islower()) # True
startswitch endwhich
res = 'helloworld'
print(res.startwhich('hel')) # True
print(res.startwhich('h')) # True
print(res.endwhich('old')) # True
print(res.endwhich('d')) # True
格式化输出 format
第一种玩法
s = 'my name is {}, my age is {}'
print(s.format('kevin',22)) # my name is kevin, my age is 22
第二种玩法
s = 'my name is {0}, my age is {1}'
print(s.format('kevin',22)) #根据索引取值
s = 'my name is {0}, my age is {1}'
print(s.format(22,'kevin')) # my name is 22, my age is kevin
第三种玩法(推荐)
s = 'my name is {name}, my age is {age}'
print(s.format(name = 'tony' , age = 22)) #my name is tony, my age is 22
join的用法
l = ['tony', 'kevin', 'jack', 'tom']
print('|'.join(1)) ## tony|kevin|jack|tom
replace替换字符串
s = 'my name is kevin kevin kevin kevin'
print(s.replace('kevin', 'jack', 1)) #my name is jack kevin kevin kevin
print(s.replace('kevin', 'jack', 2)) #my name is jack jack kevin kevin
isdigit判断
guess_age = input('请输入你的年龄:')
if guess_age.isdigit(): #如果年龄为整数的话
if int(guess_age) == 18:
print('猜对了')
else: #输入其他字符则会弹出来
print('你输入的年龄不合法')
字符串需要了解的方法
1.find(查找)
msg='tony say hello hello hello'
# print(msg.find('s')) # 5
# print(msg.find('hello')) # 9
# print(msg.find('helloa')) # -1
输出的是该字符在字符串中第一个字母索引的位置
'''find:是用来判断一个子字符串是否在另外一个字符串中'''
####不会报错,诺没有值则输出-1
2.index(查找)
# in
# print(msg.index('s')) # 5
# print(msg.index('hello')) # 5a
# print(msg.index('helloa')) # 如果查不到字符串直接报错
###没有值直接报错
3 count(计数)
# print(msg.count('hello')) # 3
# print(msg.count('helloa')) # 0
该代码块在字符串中出现的次数
4.center(居中)
# res = 'kevin'
# print(res.center(16, '@')) # 居中展示
# print(res.ljust(16, '@')) # 左对齐
# print(res.rjust(16, '@')) # 右对齐
5.captalize #字符串第一个字母大写
swapcase #全部大写
title #首字母大写
res = 'my name is kevin'
print(res.title()) # My Name Is Kevin
print(res.capitalize()) # My name is kevin
print(res.swapcase()) # MY NAME IS KEVIN
列表的内置方法(重点)
类型转换
# print(list(123)) 不可
# print(list(1.11)) 不可
print(list('hello')) # ['h', 'e', 'l', 'l', 'o']
print(list([11, 22, 33, 44])) # [11, 22, 33, 44]
print((list({'username':"kevin", "age":20}))) # ['username', 'age']
print(list((11, 22, 33, 44))) # [11, 22, 33, 44]
print(list({11, 22, 33, 44})) # [33, 11, 44, 22]
列表的增加和修改
my_friends = ['tony', 'jason', 'tom', 4, 5]
1.修改值
my_friends[0] = 'tom' #根据值的索引修改
print(my_friends) #['tom', 'jason', 'tom', 4, 5]
2.添加值(append)
my_friends.append(666)
my_friends.append(777) #['tony', 'jason', 'tom', 4, 5 ,666 , 777]
my_friends.append(888) # 追加到末尾位置
print(my_friends) #['tony', 'jason', 'tom', 4, 5 ,666 , 777 ,888]
3添加值(insert)
my_friends.insert(0, 999) #insert(索引,添加的值)
my_friends.insert(1, 999)
print(my_friends) #[999,999,'tony', 'jason', 'tom', 4, 5]
4.添加值(extend)
my_friends.append([11, 22, 33, 44]) # 把列表的整体添加到末尾
#['tony', 'jason', 'tom', 4, 5, [11, 22, 33, 44]]
my_friends.extend([11, 22, 33, 44]) # 列表的合并
#['tony', 'jason', 'tom', 4, 5, 11, 22, 33, 44]
5.长度(len)
print(len(my_friends)) #5
列表的删除
'''删除'''
my_friends = ['tony', 'jason', 'tom', 4, 5, 6, 7, 8]
# del # delete
1. 第一种方式(del)
# del my_friends[0] # ['jason', 'tom', 4, 5, 6, 7, 8]
# del my_friends[0] #['tom', 4, 5, 6, 7, 8]
# del my_friends[4]
# print(my_friends)
2. 第二种方式(remove)
# aa = my_friends.remove('jason') # 括号中直接写删除的元素。可不是索引
# print(aa) # None 空
# print(my_friends)
3. 第三种方式(pop)
# my_friends.pop() # 弹出元素
# my_friends.pop()
# my_friends.pop()
# aa = my_friends.pop()
# print(aa)
s = my_friends.pop(1) # 可以把删除的元素存储起来
print(s)
print(my_friends)
可变类型与不可变类型
"""
可变类型:列表 字典 集合
值改变,内存地址没有改变
不可变类型:整型 浮点型 字符串
值改变,内存地址也改变
"""