python学习笔记day06

字符串操作

基本使用

1、用途:记录描述性质的状态
2、定义方式:在单引号、双引号、三引号内包含的一串字符

msg = "[1,2,3]" 
msg=str("[1,2,3]")

数据类型转换: str可以把任意类型转换成字符串类型
3、常用操作+内置的方法
按索引取值(正向取+反向取)
ps:只能取

msg='hello你好'
print(msg[0]) # 取出的由单一字符组成的str
print(msg[5])
print(msg[-1])
#替换字符
msg="hello"
msg[0]="H"

切片(顾头不顾尾,步长)

msg = 'hello你好'
print(msg[1:6]) # ello你
print(msg)  #字符串不会变

print(msg[1:6:1]) # 默认步长为1,1 2 3 4 5
print(msg[1:6:2]) # 默认步长,1 3 5

print(msg[:6:2]) # 省略起始位置,默认起始位置为0
print(msg[::2]) # 省略结束位置,默认一直到末尾全部都取到
print(msg[::]) # 省略步长,默认步长为1
print(msg[:]) # 省略步长,默认步长为1

# msg='hello你好'
# print(msg[0:5:1])
# print(msg[0:5:-1])
# 方向需要保持一致才行
# print(msg[-1:-5:-1]) # -1 -2 -3 -4
#                      好  你  o  l
# msg = 'hello你好'
# print(msg[::-1]) # -1

长度len

msg = 'hello \n你好'
print(len(msg)) # 统计的是字符的个数

成员运算in 和 not in

msg = 'hello 你好'
print("你好" in  msg)
print("你好" not in msg) # 推荐使用
print(not "你好" in msg) # 不推荐使用

移除空白strip

msg="  hello   "
res=msg.strip()
print(res)
# msg="    \t  \n hello   \t"
# res=msg.strip() # 默认去掉的是字符串左右两端的空白字符串
# print(res)

# msg="    \t  \n he    llo   \t"
# res=msg.strip() # 默认去掉的是字符串左右两端的空白字符串
# print(res)

# msg="*()-=hello()*&#@!"
# res=msg.strip("()*=-!&#@")
# print(res) # 得到的是新字符串,没有改变原来的
# print(msg)

# user = input('用户名>>>: ').strip()  # user="egon       "
# password = input('密码>>>: ').strip()
# if user == "egon" and password == "123":
#     print('账号密码正确')
# else:
#     print("账号或密码输入错误")

'''
strip,lstrip,rstrip
'''
# msg="*****hello*****"
# print(msg.strip('*'))
# print(msg.lstrip('*'))
# print(msg.rstrip('*'))

切分split

# msg="a:b:c:d"
# res=msg.split(':')
# print(res)
#
# msg="hello 你 好"
# print(msg.split(' '))


# msg="a:b:c:d"
# res=msg.split(':')

# 把列表拼成一个str,列表中的元素必须全部为str类型
# print(res)
# print(":".join(res)) # 'a'+":"+'b'+":"+'c'+':'+"d"
# print("-".join(res))
# print("=".join(res))

'''
split,rsplit
'''
# print("egon:18:male:10".split(':',2))
# print("egon:18:male:10".split(':',1))
# print("egon:18:male:10".rsplit(':',1))

循环

# for x in "hello 你好":
#     print(x)

lower,upper

# msg="aABc你1"
# print(msg.lower())
# print(msg.upper())

startswith,endswith

msg = "dsb lxx is sb"
# print(msg.startswith("ds"))
# print(msg.endswith("sb"))

format的三种玩法

# print("my name is %s %s" % ("egon",18))

# print("my name is {} {}".format("egon",18))
# print("my name is {x} {y}".format(y=18,x="egon"))
# print("my {1}name is {0} {0}{1}{1}".format("egon",18))

replace

# msg="*()-=he       llo()*&#@!"
# res=msg.strip("()*=-!&#@").replace(' ','')
# print(res)

# print('my name is sb sb sb'.replace('sb','SB',1))

isdigit

# age="18**** "
# print(age.isdigit())

#
# age = input('>>>: ')  # age = "***18_++_ "
# if age.isdigit():
#     age = int(age)
#     if age > 18:
#         print('猜大了')
#     elif age < 18:
#         print("猜小了")
#     else:
#         print('猜对了')
# else:
#     print("必须输入数字,小垃圾")

find,rfind,index,rindex,count

# print("=abcdefab".find("ab")) # 查找一个子字符串在大字符串中出现的起始位置
# print("=adcabdefab".find("ab",0,6)) # 查找一个子字符串在大字符串中出现的起始位置
# print("=adcabdefab".rfind("ab")) # 查找一个子字符串在大字符串中出现的起始位置
# print("====".index("ab")) # 找不到则报错,而find则会返回-1

center,ljust,rjust,zfill

# print("egon".center(50,'*'))
# print("egon".ljust(50,'*'))
# print("egon".rjust(50,'*'))
# print("egon".zfill(50))

列表类型

1、用途:按照位置存多个值

2、定义方式:在[]内用逗号分隔开多个任意类型的值
类型转换

# list(传入的可以是任意能够被for循环遍历的类型)
# print(list("hello"))
# print(list(["a",'b']))
# print(list({"k1":11,'K2':222}))

按索引改、取值(正向存取+反向存取):即可改也可以取

# l=[111,222,333,444,555]
# l[0]=1231231231231231231
# print(l)

# l[5]=666 # 超出索引范围则报错,即不能用这种赋值操作为列表增加值

切片(顾头不顾尾,步长)

# l=[111,222,333,444,555]
# res=l[0:3]
# print(res)
# print(l)

长度

# l=[111,222,333,444,555]
# print(len(l))
# 4、成员运算in和not in
# l=[111,222,333,444,555]
# print(111 in l)
# print(111 not in l)

追加

# l=[111,222,333,444,555]
# l.append(666)
# l.append(777)
# print(l)

# 往指定位置前插入值insert
# l.insert(0,123123231231)
# print(l)

删除

# l=[111,"aaa",222,333,444,555]
# a:del是通用的、不是列表专属的删除方式
# del l[0]
# print(l)

# b:列表专属的删除方式之指定元素删除
# res=l.remove("aaa")
# print(l)
# print(res) # None

# c:列表专属的删除方式之指定索引删除
# l.pop() # 默认删除的是索引-1对应的值
# print(l)

# res=l.pop(1)
# print(l)
# print(res)

循环

# l=[111,"aaa",222,333,444,555]
# for item in l:
#     print(item)

需要掌握的操作

# l=[111,222,111,111]
# print(l.count(111))

# l = [10, -1, 3, 2, 11, 7]
# l.sort(reverse=True)
# print(l)

# l = [10, -1, 3, 2, 11, 7]
# l.clear()
# print(l)

# l=['a',1,'b']
# l.reverse()
# print(l)

# l=[11,22,33]
# l.extend([444,555,66])
# print(l)

# l.append([444,555,666])
# print(l)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值