day07字符串与列表

字符串的内置方法

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)

可变类型与不可变类型

"""
可变类型:列表 字典 集合
值改变,内存地址没有改变
不可变类型:整型 浮点型 字符串
值改变,内存地址也改变
"""

day07 字符串和列表的更多相关文章

  1. Python黑帽编程2.3 字符串、列表、元组、字典和集合

    Python黑帽编程2.3  字符串.列表.元组.字典和集合 本节要介绍的是Python里面常用的几种数据结构.通常情况下,声明一个变量只保存一个值是远远不够的,我们需要将一组或多组数据进行存储.查询 ...

  2. Python之路 day2 字符串/元组/列表/字典互转

    #-*-coding:utf-8-*- #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type ' ...

  3. python字符串/元组/列表/字典互转

    #-*-coding:utf-8-*- #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type ' ...

  4. 转:python字符串/元组/列表/字典互转

    #-*-coding:utf-8-*-  #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type ...

  5. python_way ,day2 字符串,列表,字典,时间模块

    python_way ,day2 字符串,列表,字典,自学时间模块 1.input: 2.0 3.0 区别 2.0中 如果要要用户交互输入字符串: name=raw_input() 如果 name=i ...

  6. python中字符串与列表的相互转换

    列表转字符串 list1 = ['abc' , 'def' , 'ghi'] str1 = ','.join(list1) str1 = '##'.join(list1) 字符串转列表 str1 = ...

  7. python 小白(无编程基础,无计算机基础)的开发之路,辅助知识6 python字符串/元组/列表/字典互转

    神奇的相互转换,小白同学可以看看,很有帮助 #1.字典dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type ...

  8. python 序列:字符串、列表、元组

    python 序列:字符串.列表.元组   序列:包含一定顺序排列的对象的一个结构 内建函数:str() list() tuple() 可以使用str(obj)可以把对象obj转换成字符串 list( ...

  9. Python【第二课】 字符串,列表,字典,集合,文件操作

    本篇内容 字符串操作 列表,元组操作 字典操作 集合操作 文件操作 其他 1.字符串操作 1.1 字符串定义 特性:不可修改 字符串是 Python 中最常用的数据类型.我们可以使用引号('或&quo ...

  10. python数据类型(字符串、列表操作)

    一.整形和浮点型整形也就是整数类型(int)的,在python3中都是int类型,没有什么long类型的,比如说存年龄.工资.成绩等等这样的数据就可以用int类型,有正整数.负整数和0,浮点型的也就是 ...

随机推荐

  1. 网页元素间距测量(better rule插件的使用)

    我们在测试UI界面的时候,需要测量各元素大小及元素之间的距离.元素大小,使用F12可以简易的得到数据,但是元素的间距相对来说会比较复杂.这里推荐一款chrome插件better rule,帮助大家测量 ...

  2. 高德地图使用websocket后重新设置点进行优化

    // 设置第一次点赋值,重新定义一个新数组,将设备号为对象名,索引值作为键值 const getListNEW = useCallback( (params, reload, gps) => { ...

  3. springmvc接口访问流程排查

    首先找到webapp下面的web.xml文件: 检查前端控制器: 并注意contextConfigLocation配置的springmvc的配置文件路径: 接着找到springmvc配置文件路径,如果 ...

  4. JMeter线程

    线程Threads:场景设置,模拟并发用户发送请求,设置并发策略.即以线程的方式来模拟多用户并发的.常用线程包括:线程组. jp@gc-Stepping Thread Group.bzm-Arriva ...

  5. 什么是 SpringMvc

    SpringMvc 是 spring 的一个模块,基于 MVC 的一个框架,无需中间整合层来整合

  6. vs2019配置boost库(转载)

    网址:https://blog.csdn.net/qq_42214953/article/details/105087015 关于途中的执行文件,可以使用b2.exe,不用跟着教程走. 如果本来就有b ...

  7. arcengine动态显示所需字段值

    需求:实现和GIS桌面端中Identify的类似功能,鼠标滑动的时候可以显示鼠标所在位置的要素的指定字段的值.. 主要操作流程: ①先打开一个对话框,用于选择需要显示的图层和字段名 ②点击确定之后,在 ...

  8. mybatis_19

    id username birthday sex address 1 王五 2 10 张三 2014-07-10 1 北京市 16 张小明 1 河南郑州 22 陈小明 1 河南郑州 24 张三丰 1 ...

  9. Docker安装:Centos7.6安装Docker

    Docker03:Centos7.6安装Docker 前提条件 内核版本 更新yum 包 卸载旧版本(如果安装过旧版本的话) 安装依赖包 设置yum源(阿里云源) 更新缓存 安装容器 启动并加入开机启 ...

  10. [rk3568][common] 环境搭建

    1. 安装依赖 sudo apt-get install uuid uuid-dev zlib1g-dev liblz-dev liblzo2-2 liblzo2-dev lzop \ git-cor ...