Python基础(字符串、列表)-----04

0919第四天课程内容:

1、for循环中的break 和 continue

  • break 和 continue在for循环和while循环中的使用方式一样

2、for/while…else…

while…else和for…else: while…else:
当for和while中的条件不满足时,即正常执行结束后,执行else代码
当while中不是正常执行完的,不执行else,如没有执行完,执行break,continue
while循环里的内容执行完后,再执行else
break不再执行else
continue不影响else

3.字符串:

  • ‘’
  • “”
  • ‘’’ ‘’’
  • “”" “”"

4.在字符串中输入引号:

  • c=" I’m Tom "
  • c=’ I’m Tom’–>报错
  • c=‘I’m Tom’–>用\进行转译,'后成功输出

5.字符串下标

  • 字符串下标时系统分配给字符串内每个元素的序号,执行是连续的序号,不能有间隔
  • 字符串下标是从0开始,从左往右依次递增
    *> 当下标为整数时,从0开始从左往右依次递增
  • 当下标是负数时,从-1开始从右往左依次递减
  • 字符转每一个字符都有两个下标,下标功能一样

6.切片

  • 我们的切片,起始结束的位置范围是一个左闭右开的区间
  • 当我们想切到最后一位,可以省略最后一位字符串的下标
str1='chuanzhibokehuanyingni!'
print(str1[2])
print(str1[6])
print(str1[14])
print(str1[16])
print(str1[9])
print(str1[12:221])#huanyingni#从下标12开始到22下标,步长为1
print(str1[12:])#huanyingni!#从12下标开始,到最后一位字符,步长为1时可省略,不写时默认步长为1
print(str1[:12])#chuanzhiboke#从头取值到下标为12 结束
print(str1[:])#chuanzhibokehuanyingni!#从头取到尾,取全部

6、字符串的切片

  • 语法格式:字符串[开始下标:结束下标:步长]
  • 截取的位置,就是开始结束位置的元素,根据步长进行筛选,切片区间是左闭右开的区间
    • 步长可以省略,省略步长默认步长是1,且省略步长时,应同时省略步长前的冒号。
  • 当切片范围内无字符,返回一个空字符串
    *进行字符串反转操作str1[::-1]
  • 使用字符串切片,获取了一个新的字符串,而没有对原有字符串进行修改

步长为正

  • 开始位置下标可以省略,省略后开始位置从0开始
  • 结束位置的下标也可以省略,省略后的切片到字符串终止位置结束(包含终止位置)

步长为负

  • 开始位置的下标可以省略,省略后位置从字符串终止开始
  • 结束位置下标页可以省略,省略后切片到字符串开始结束(包含开始位置)
str1='chuanzhibokehuanyingni!'
print(str1[::-1])#!ingniynauhekobihznauhcstr1='chuanzhibokehuanyingni!'
print(str1[-1:-4:-1])#!in
print(str1[-4:-1:-1])#无法选出数据,方向不一致
print(str1[-1:-4:1])#无法选出数据,方向不一致
  • 必须保持方向一致

7、字符串查找

find()查找指定范围内字符串中所包含子字符串的位置

  • 从左至右查询,查询到则返回子字符串的首字符下标,没有找到则返回-1
  • 只能返回一个下标
    index()查找指定范围内字符串中所包含子字符串的位置
    • 从左至右查询,查询到则返回子字符串的首字符下标,没有找到报错
  • 只能返回一个下标
    count():计算指定范围内子字符串在字符串中出现的次数
    rfind():从右至左查询,使用方法与find相同
    Rindex():从右至左查询,使用方法与index相同

8、字符串的修改

  • replace函数替换原有字符串的中的子字符串
  • replace(旧值,新值,替换次数)
  • str类型是不可变的数据,str内部的数据不可被修改

replace函数有返回值,返回值是修改后的字符串
调用replace函数后,发现原有字符串的数据并没有做到修改,修改后的数据是replace函数的返回值
字符串是不可变的数据类型
数据是否可以改变,
split():按指定字符分割
split(分隔符,分割次数)
join():组合字符串
分隔符·join(列表{里面是字符串数据})

list1=[12,34,56]
# ' '.join(list1)
print(' '.join(list1))

9、字符串的大小写转换

capitalize():字符串首字母大写
title():字符串中每个单词的首字母大写
*除了字母以外都是分隔符,分隔符后的字母一定要大写

  • 除了首字母以外,其他字母会自动变成小写
    lower():所有字母小写
    upper():所有字母大写

10、删除空白字符

  • lstrip():删除左侧空白字符
  • rstrip():删除右侧空白字符
  • strip():删除两侧空白字符
    *strip(指定字符):从字符串两边往中间查询有指定任意字母进行删除,
    *strip(多个字符):删除字符串两侧多个字符,删除的字符顺序和个数无所谓
str1='123123ddddsf123321'
print(str1.strip('123'))#ddddsfstr1='123123ddddsf1234321'
print(str1.strip('123'))#ddddsf1234

11.字符串对齐(left right)

ljust(长度):左对齐,剩余字符用空格填充
ljust(长度,填充字符):如:
ljust(5,’*’) rjust():右对齐
center():居中对齐

12、判断字符串开头结尾(一般开发中用正则判断)

startswith(字串,开始位置下标,结束位置下标):左闭右开
判断字符串是否以某个子串开头的;返回结果:True ,False
endswith():判断是否以某个子串结尾

13、字符串判断

isalpha():判断非空字符串,如果字符串中都是字母,返回:True

  • 除了数字和特殊符号,都为认为为字母
  • 给字符串指定编码格式可以筛选出纯英文字母
'apple'
print(str3.encode('utf-8').isalpha())

isdigit():判断是否为数字,数据全都为数字,返回:True
isalnum():数字或字母或数字字母组合,都返回:True
isspace():判断是否都是空格,都为空格返回:True
isnumric():可以判断中文数字

str4='123三'
print(str4.isdigit())#False
print(str4.isdecimal())#False
print(str4.isnumeric())#Ture
str1='dvfvvd'print(str1.isalpha())#判断是否全部为字母
print(str1.isalnum())#数字、字母、组合
print(str1.isdigit())#数字
print(str1.isspace())#为空格

True
True
False
False

str2='apple苹果'
print(str2.isalpha())#True

14、列表

列表的定义:变量名=[元素1,元素2,元素3…]
* 列表可以存储不同类型的数据
调用时可以整体调用,也可以使用下标获取对应元素

  • 正数下标:从0开始,从左至右依次递增
    • 负数下标:从-1开始,从右至左依次递减

15、列表的查找

函数:
index():存在返回下标,不存着返回报错
count():查询元素的数量
len():获取容器长度,列表中数据的个数find():在列表中没有此方法,强行使用会报错AttributeError(属性错误)

str1=['chao','ji','ma','li']
print(len(str1))
print(str1.index('li'))
print(str1.count('li'))

16、判断是否存在: in 和 not in

元素 in 容器(注意在使用时,元素在前,容器在后,字符串类型判断存在时,顺序错误也不会报错,执行后报错)

  • 建议判断的是字符串类型,为了避免错误,建议使用count

判断元素是否存在列表:in

str1=['Tom','lily','lisa']
print("Tom" in str1)

#True
判断元素是否不存在列表:not in

str1=['Tom','lily','lisa']
print('tom' not in str1)

#True

一般使用如上方法判断的列表或者字符串,容器的数据量不会很大。

17、列表的增加:

append():在列表末尾追加元素
追加数据为整个序列,整个追加到列表的最后
expend()
insert()
列表是可变数据

你可能感兴趣的:(Python)