Python 字符串详解

今天药忘吃喽~ 2023-10-06 00:29 65阅读 0赞

一、字符串概念

用于保存字符信息的数据模型(容器)。

1、只能存放一个值

2、不可变类型

3、有序,索引从0开始顺序访问

字符串语法格式:

str1 = “字符串信息”

str2 = ‘字符串信息’

str3 = ‘’ ‘’ ‘’字符串信息’’ ‘’ ‘’

str4 = ‘’’ 字符串信息 ‘’’

二、字符串常用操作

94bc559c0aa148f58eb8a23c097ef48f.png

1、字符串判定

1d74d49064cc457db5237b6780c00a0f.png

2、字符串查找和替换

e044a161ff7d4d4e89dead441873ef2f.png

3、字符串拆分与连接

545ca3a44c8a4918b8289fde01c3d834.png

4、 字符串数据转换

bf68d8de924444738dd7a33726cd9a8d.png

5、字符串格式转换

724c6628f1e84ac0939690543ef45e7b.png

6、字符串切片

59dfb401ac5d4a98925afbdc2b3bb7d8.png

三、字符串应用

1、 输入字符串”https://blog.51cto.com/u\_12139097/2573782",输出以下结果:
1) 字符串中字母t出现的次数。
2) 字符中”com”子串出现的位置。
3) 将字符串中所有的”.”替换为”-“。
4) 提取”log”使用正向和”to”反向取两个子串。
5) 将字符串中的字母全变为大写。
6) 输出字符串的总字符个数。
7) 在字符串后拼接子串”/yes”

  1. '''
  2. 1. 输入字符串"https://blog.51cto.com/u_12139097/2573782",输出以下结果:
  3. 1) 字符串中字母t出现的次数。
  4. 2) 字符中"com"子串出现的位置。
  5. 3) 将字符串中所有的"."替换为"-"。
  6. 4) 提取"log"使用正向和"to"反向取两个子串。
  7. 5) 将字符串中的字母全变为大写。
  8. 6) 输出字符串的总字符个数。
  9. 7) 在字符串后拼接子串"/yes"
  10. :return:
  11. '''
  12. ss='https://blog.51cto.com/u_12139097/2573782'
  13. # 1) 字符串中字母t出现的次数。
  14. print(ss.count('t'))
  15. # 2) 字符中"com"子串出现的位置。
  16. print(ss.find('com'))
  17. # 3) 将字符串中所有的"."替换为"-"。
  18. print(ss.replace('.','-'))
  19. # 4) 提取"log"使用正向和"to"反向取两个子串。
  20. print(ss[9:12],ss[-26:-23])
  21. # 5) 将字符串中的字母全变为大写。
  22. print(ss.upper())
  23. # 6) 输出字符串的总字符个数。
  24. print(len(ss))
  25. # 7) 在字符串后拼接子串"/yes"
  26. print(ss+'/yes')

6baea5ca5f4a43f49251321b46a380da.png

2、学号#姓名#分数,如字符串: “1001#张帆#75-1002#羽田#90-1003#李鑫#85”,
提取学生信息存放于列表中,并按照成绩对学生降序排序。

  1. '''
  2. 学号#姓名#分数,如字符串: "1001#张帆#75-1002#羽田#90-1003#李鑫#85",
  3. 提取学生信息存放于列表中,并按照成绩对学生降序排序。
  4. :return:
  5. '''
  6. data = "1001#张帆#75-1002#羽田#90-1003#李鑫#85"
  7. stu_list = []
  8. for info in data.split('-'):
  9. stu = info.split("#")
  10. print(stu)
  11. #添加到列表中
  12. stu_list.append(dict(zip(["学号", "姓名", "分数"], stu)))
  13. #降序排序
  14. stu_list.sort(reverse=True, key=lambda x: x["分数"])
  15. print(stu_list)

a3a4308802c54d859526ed7557f1cf7f.png

3、 随机产生验证码 (数字+字母组合 6个)
如:A8VPai

  1. '''
  2. # 随机产生验证码 (数字+字母组合 6个)
  3. # 如:A8VPai
  4. :return:
  5. '''
  6. #大小字母组合
  7. s=string.ascii_letters
  8. # 保存产生的随机数
  9. save_code =''
  10. #循环6个
  11. for i in range(6):
  12. # 随机产生(0-5)6个数
  13. num=random.randint(0,5)
  14. #判断不等,就随机产生字母
  15. if i!=num:
  16. tmp=random.choice(s) #产生字母
  17. else:
  18. tmp=random.randint(0,9) #产生数字
  19. #保存生成数据
  20. save_code += str(tmp)
  21. else:
  22. print(save_code)

a2dafd8ac5274b619034ad625fd56908.png

4、输入用户名是否合法,用户名必须有数字和字母组成,并且第一个字符是大写字母

例如,输入:boy80youare52right,输出 不合法! 输入:Boy80youare, 输出 合法!

  1. '''
  2. 输入用户名是否合法,用户名必须有数字和字母组成,并且第一个字符是大写字母
  3. 例如,输入:boy80youare52right,输出 不合法! 输入:Boy80youare, 输出 合法!
  4. :return:
  5. '''
  6. s = input('输入用户名字符串:')
  7. #统计个数
  8. s_letter=0
  9. s_number=0
  10. #判断第一个字符是大写字母
  11. if s[0].isupper():
  12. # 循环
  13. for i in s:
  14. # 判断
  15. if i in string.ascii_letters:
  16. s_letter += 1
  17. elif i in string.digits:
  18. s_number += 1
  19. #判断是否是数子和字母组合
  20. if s_number==0 or s_letter+s_number!=len(s):
  21. print('用户名不合法!')
  22. else:
  23. print('合法!')
  24. else:
  25. print('用户名不合法!')

b25b9403dc684db2af95e7de26d6eecb.png

4dd05708452c4f05b6188ac6f6a0cc92.png

5、输入字符串,并获取字符串中汉字的个数。

例如:输入:hello展示有几个few汉字 输出:hello展示有几个few汉字的汉字个数:7

提示:汉字在这个范围内(大于等于\u4e00,小于等于\u9fa5)

  1. '''
  2. 输入字符串,获取字符串中汉字的个数;
  3. 例如:输入:hello展示有几个few汉字 输出:hello展示有几个few汉字的汉字个数:7
  4. 提示:汉字在这个范围内(大于等于\u4e00,小于等于\u9fa5)
  5. :return:
  6. '''
  7. info=input('输入字符串:')
  8. c=0 #统计个数
  9. #循环
  10. for i in info:
  11. #判断
  12. if i >='\u4e00'and i<='\u9fa5':
  13. c+=1 #累计次数
  14. print(f'{info}的汉字个数:{c}')

d856dcac209b4847af0c864080b931c5.png

d4dc1d1f9917422da1e8af97dad02f5c.png

6、 输入一句英文字符串,单词之间以空格为分隔符, 并且不包含,和.>;统计每个单词重复的单词出现的次数

输入: “hello java hello python”

输出:

hello 2

java 1

python 1

  1. '''
  2. 输入一句英文字符串,单词之间以空格为分隔符, 并且不包含,和.>;统计每个单词重复的单词出现的次数
  3. 输入: “hello java hello python”
  4. 输出:
  5. hello 2
  6. java 1
  7. python 1
  8. '''
  9. strs=input('输入一句英文句子:')
  10. #字符串空格分割
  11. ll=strs.split(" ")
  12. #空字典
  13. word={}
  14. #循环
  15. for i in ll:
  16. # print(i)
  17. #判断不在字典中
  18. if i not in word:
  19. word[i]=1
  20. else: #存入加1
  21. word[i]+=1
  22. # print(word)
  23. for k,v in word.items():
  24. print(k,v)

b5f8c458c10f439193d163f8d472e8d6.png

发表评论

表情:
评论列表 (有 0 条评论,65人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Python中的字符串详解

    Python中的字符串 字符串(String)是字符序列,或者说是一串字符。 字符只是一个符号。例如,英语具有26个字符。Python 不支持单字符类型,单字符在 Py