ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

字符串、列表内置方法

2021-11-08 23:00:39  阅读:321  来源: 互联网

标签:内置 jason name list 列表 print tom 字符串 tony


  

内容概要

  • 字符串其他内容讲解

  • 列表内置方法

  • 可变类型与不可变类型

一、字符串内置方法

  # 如何快速查看数据类型有哪些方法>>> 句点符(.)

  # 如何查看方法底层源码  ctrl + 鼠标左键点击

 

  # 1.大小写

  res = 'JasOn JAsoN'

  res1 = 'jason123'

  # 转全大写

  # print(res.upper())  # JASON JASON

  # 转全小写

  # print(res.lower())  # jason jason

                

  """

  实际案例:

  图片验证码忽略大小写

  思路:全部转大写或者小写在比对

  """

  old_code = 'QwErDf666'
  print('这是给用户提供的验证码图片>>>:%s' % old_code)
  new_code = input('请输入正确的验证码>>>:')
  if old_code.upper() == new_code.upper():
    print('验证码正确!')
  else:
    print('验证码错误')

                

  # 判断是否为纯大写

  # print(old_code.isupper())

                

   # 判断是否为全小写

  # print(old_code.islower())

                 

  # 2.判断字符串是否以制定的字符开头

  # print(i.startswith('h'))

  # print(i.startswith('m'))

                

  # 3.判断字符串是否以制定的字符结尾

  # i = 'my name is henry, my age is 18'

  # print(i.endswith('m'))  # False
  # print(i.endswith('18'))  # True

                

   # 4.格式化输出

  # 4.1.与用户交互  占位符 %s %d

  # 4.2.字符串内置方法  format()

  # 第一种玩法 相当于%s占位符

  # i = 'my name is {}, my age is {}'

  # print(i.format('henry', 18))

  # 第二种玩法 大括号内写索引值可以打破顺序 并且可以反复使用相同位置的数据

 

  # i1 = 'my {1} name {0} is {0}, my age is {1}'

  # print(i1.format('henry', 18))

  # 第三种玩法 大括号内写变量名

  # i2 = 'my name is {name1}, my age is {age1}'

  # print(i2.format(name1='henry', age1=18))

                

   """占位符与format结合具体情况挑选使用"""

  # 5.字符串的拼接

  # 方式1  字符串相加

  # print('hello' + 'world' + '!')

  # 方式2  join方法

  # i = 'jason', 'tom', 'sunny', 'henry'

  # k = (i[0] + '|' + i[1] + '|' + i[2] + '|' + i[3])

  # print(k)

  # print('|'.join(l))

                

  # l1 = ['jason', 123, 'tony']
  # print('$'.join(l1)) # 报错

  """必须是字符串类型 (在python中不同数据类型之间无法直接操作)"""

  # 6.替换字符串中指定的字符

  # s4 = 'my name is tony tony tony my age is 18'
  # 替换字符串中所有的tony>>>vivian

  # print(s4.replace('tony', 'vivian'))  # my name is vivian vivian vivian my age is 18

  # 替换指定个数的文本  

  # print(s4.replace('tony', 'henry', 2))  # my name is henry henry tony my age is 18

                

   # 7.判断字符串中是否是纯数字

  # s5 = 'jason123'
  # print(s5.isdigit()) # False
  # s6 = '123'
  # print(s6.isdigit()) # True

                 

  了解内容

  # 1.字体格式相关

  title: print(i.title())  # 所有单词首字母大写

  capitallize:print(i.capitallize())  # 首个单词首字母大写

  swapcase:print(i.swapcase())  # 大小写互换

  # s7 = 'my name is jason sb sb sb somebody sb sb sb sb sone sb sone'
  # print(s7.find('s')) # 查看指定字符对应的起始索引值 从左往右找到一个就结束
  # print(s7.find('sb')) # 查看指定字符对应的起始索引值 从左往右找到一个就结束
  # print(s7.find('w')) # 找不到返回-1
  # print(s7.index('w')) # 找不到直接报错
  # 统计某个字符出现的次数(记忆)
  # print(s7.count('sb'))

  # s8 = 'jason'
  # print(s8.center(15, '$'))  # 居中展示
  # print(s8.ljust(15, '&'))   # 左对齐 jason&&&&&&&&&&
  # print(s8.rjust(15, '*'))  # 右对齐 **********jason

  # name = 'tony123'
  # name.isalnum()   # 字符串中既可以包含数字也可以包含字母
  # name.isalpha()  # 字符串中只包含字母

  二、列表的基本方法

  # 列表内一般都会存储相同数据类型的数据

  # 类型转换 数据类型关键字+(需要转换的数据)

  # print(list(123))  # 报错

  # print(list(123.45))  # 报错

  # print(list('hello'))  # ['h', 'e', 'l', 'l', 'o']

  # print(list({'username}': 'jason', 'age' : 18}))  # ['username}', 'age']  # ['username}', 'age']

   # print(list((123, 112, 113)))  # [123, 112, 113]

   # print(list({333, 444, 555}))  # [555, 444, 333]

   """list关键字可以将支持for循环的数据类型转换成列表"""

  # 列表修改、添加数据

  1. 修改值

  # name_list = ['jason', 'tom', 'tony']
  # name_list[0] = '666'
  # print(name_list)  # ['666', 'tom', 'tony']

  2.添加值

  方式1  尾部追加(将括号内的数据当成一个整体追加到列表末尾)

  # name_list = ['jason', 'tom', 'tony']
  # print(name_list.append(666))
  # print(name_list)  # ['jason', 'tom', 'tony', 666]

  # name_list = ['jason', 'tom', 'tony']
  # print(name_list.append([123, 456, 789]))
  # print(name_list)  # ['jason', 'tom', 'tony', [123, 456, 789]]

                

   方式2 插入元素(将括号内的数据当成一个整体插入到索引指定位置)

  # name_list = ['jason', 'tom', 'tony']
  # name_list.insert(0, 'heiheihie')
  # print(name_list)  # ['heiheihie', 'jason', 'tom', 'tony']

                 

  # name_list = ['jason', 'tom', 'tony']
  # name_list.insert(2, [123,456,789])
  # print(name_list)

                

  方式3 扩展元素(相当于for循环+append操作)

  # name_list = ['jason', 'tom', 'tony']
  # print(name_list.extend([11, 22, 33]))
  # print(name_list)  # ['jason', 'tom', 'tony', 11, 22, 33]

                

  # l1 = [123, 456, 789]
  # l2 = [1, 2, 3]
  # for i in l2:
    # l1.append(i)
  # print(l1)

                

   # 列表删除数据

  方式1 通用删除方式

  del name_list[1]   # 根据索引直接删除 del是关键字delete缩写

  方式2 remove()  括号内指定需要移除的元素值

  # name_list = ['jason', 'tom', 'tony', 'henry']
  # print(name_list.remove('jason'))  # None
  # print(name_list)  # ['tom', 'tony', 'henry']

  方式3 pop() 括号内制定需要弹出的元素索引值  括号内如果不写

  # name_list = ['jason', 'tom', 'tony', 'henry']
  # print(name_list.pop(2))  # tony
  # print(name_list)  # ['jason', 'tom', 'henry']

  # name_list = ['jason', 'tom', 'tony', 'henry']
  # print(name_list.pop())  # henry
  # print(name_list)  # ['jason', 'tom', 'tony']

  # 可变类型与不可变类型

  # s1 = 'my name is henry, my age is 18'
  # print(s1.title())  # My Name Is Henry, My Age Is 18
  # print(s1)  # my name is henry, my age is 18

                

  # name_list = ['jason', 'tom', 'jack', 'henry']
  # print(id(name_list))  # 2072119818312
  # print(name_list.remove('jack'))  # None
  # print(name_list)  # ['jason', 'tom', 'henry']
  # print(id(name_list))  #2072119818312

                

 

   """

  可变类型 >>> 列表

    值改变 内存地址不变 修改的是原值

  不可变类型 >>> 整型 浮点型 字符串 

    值改变 内存地址肯定变 其实是产生了新值

  """

  # name_list = ['jason', 'kevin', 'tony', 'jack']
  # print(name_list)  # ['jason', 'kevin', 'tony', 'jack']
  # print(id(name_list))  # 1803404130376
  # name_list.append(123)
  # print(id(name_list))  # 1803404130376
  # print(name_list)  # ['jason', 'kevin', 'tony', 'jack', 123]

                 

 

标签:内置,jason,name,list,列表,print,tom,字符串,tony
来源: https://www.cnblogs.com/henry1998/p/15525587.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有