2020 python学习第六天————字符串操作和列表操作

1.1 字符串的作用

记录描述性质的状态

1.2 定义方式

在单引号、双引号、三引号内包含的一串字符

1.3 数据类型转换

str可以把任意类型转换成字符串类型

1.4 优先掌握的操作

1.4.1 按索引取值(正向取+反向取)

  取出的由单一字符组成的str

    变量名 [ 索引 ]

1.4.2 切片(顾头不顾尾,原来字符串不会变)

  变量名 [ 起始位置 :结束位置 :步长 ]

    起始位置,结束位置和步长都可以省略

    起始位置默认值为0

    结束位置默认一直到末尾

    步长默认值为1

  变量名 [ : ]  #相当于复制操作

1.4.3 长度

  len ( 变量名 )  #统计字符的个数

1.4.4 成员运算in和not in

  msg = ‘hello 你好‘

  print( "你好" in msg )

  print( "你好" not in msg )

1.4.5 移除空白strip

  msg="    hello      "

  res=msg.strip()

    默认去掉的是字符串左右两端的空白字符串

    可以在括号内填写需要在左右两端去除的字符串

    得到的是新字符串,没有改变原来的

1.4.6 切分split

  msg="a:b:c:d"

  res=msg.split( ‘ : ‘ )

    split会以括号内的字符为分界将字符串形式的变量切分成列表

1.4.7 循环

  for x in "hello 你好"

  for循环可以对字符串进行遍历

1.5 需要掌握的操作

1.5.1 strip,lstrip,rstrip

  msg="*****hello*****"

  print( msg.strip ( ‘*‘ ) )

    删除收尾的字符

  print( msg.lstrip ( ‘*‘ ) )

    删除左端的字符

  print( msg.rstrip ( ‘*‘ ) )

    删除右端的字符

1.5.2 lower,upper

  msg="aABc你1"

  print(msg.lower())

    字母全小写

  print(msg.upper())

    字母全大写

1.5.3 startswith,endswith

  msg = ‘abcdef‘

  print( msg.startswith( "a" ) )

    检查字符串是否是以指定字符串开头

  print( msg.endswith( "f" ) )

    检查字符串是否是以指定字符串结尾

1.5.4 format的三种玩法

  print( ‘a b {} d {}‘ .format( ‘c‘ , ‘e‘ ) )

    按照顺序向花括号传值

  print( ‘a b {x} d {y}‘ .format( y = ‘e‘ , x = ‘c‘ ) )

    根据变量名传值

  print(‘a b {0} d {1}‘ .format( ‘c‘ , ‘e‘ ) )

    根据位置索引传值

  python3.5以上可以使用

    x = ‘c‘

    y= ‘e‘

    print( f"a b {x} d {y}" )

1.5.5 split,rsplit

  print( "a:b:c:d" .split( ‘:‘ )

    从左往右切分

  print( "a:b:c:d" .rsplit( ‘:‘ )

    从右往左切分

  print( "a:b:c:d" .split( ‘:‘ , 1 )

    split可以指定切分几次

1.5.6 join

  把列表拼成一个str,列表中的元素必须全部为str类型

    ‘ ‘.join( list )

1.5.7 replace

  print( ‘a b b b‘ .replace( ‘b‘ , ‘a‘ , 1 ) )

    replace( ‘你想替换的字符’ , ‘想替换成的字符’ , 替换的次数 )

      次数省略为全部替换

1.5.8 isdigit

  age="18"

  print( age.isdigit() )

  判断是非为存数字

1.6 了解操作

1.6.1 find,rfind,index,rindex,count

  print("=abcdefab".find("ab"))

    查找一个子字符串在大字符串中出现的起始位置,可选参数为在字符串搜索的开始与结束位置。

  print("=adcabdefab".rfind("ab"))

    从右往左查找一个子字符串在大字符串中出现的起始位置。

  print("====".index("ab"))

    找不到则报错,而find则会返回-1。

  print("=adcabdefab".count(‘a‘))

    统计字符串里某个字符出现的次数。

1.6.2 center,ljust,rjust,zfill

  print("a".center(10,‘*‘))

    设置长度为10,字符串居中,其他用*填充。

  print("a".ljust(10,‘*‘))

    设置长度为10,字符串靠左,其他用*填充。

  print("a".rjust(10,‘*‘))

    设置长度为10,字符串靠右,其他用*填充。

  print("a".zfill(10))

    设置长度为10,字符串靠右,其他用0填充。

1.6.3 expandtabs

  print(‘a\tb‘.expandtabs(3))

    改变制表符的空格数。

1.6.4 captalize,swapcase,title

  print("my name is a".capitalize())

    首字母大写。

  print("AbCd".swapcase())

    大小写反转。

  print("my name is a".title())

    标题格式,单词首字母大写。

1.6.5 is数字系列

  num1=b‘4‘ #bytes

  num2=u‘4‘ #unicode,python3中无需加u就是unicode

  num3=‘四‘ #中文数字

  num4=‘Ⅳ‘ #罗马数字

    isdigit():用于b和u格式,即num1和num2

    isdecimal():用于u格式,即num2

    isnumberic():用于u,中文数字、罗马数字,即num2、num3、num4

      三者不能判断浮点数

1.6.5 is其他

  print(‘name1‘.isalnum()) #字符串由字母或数字组成

  print(‘name1‘.isalpha()) #字符串只由字母组成

  print("inputasd".isidentifier()) #判断是否用到了关键字

  print(‘name‘.islower()) #判断字符串是不是全是小写

  print(‘name‘.isupper()) #判断字符串是不是全是大写

  print(‘     ‘.isspace()) #判断字符串是不是全是空格

  print("My Name Is".istitle()) #判断字符串是不是标题格式

1.7 类型总结

字符串只能存放一个值

字符串是有序且是不可变类型

2.1 列表的用途

按照位置存多个值

2.2 定义方式

在[]内用逗号分隔开多个任意类型的值

2.3 类型转换

list(传入的可以是任意能够被for循环遍历的类型)

2.4 优先掌握的操作

2.4.1 索引

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

  超出索引范围则报错,即不能用这种赋值操作为列表增加值

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

  res=list [起始位置:结束位置:步数]

    起始位置默认值为0

    结束位置默认一直到末尾

    步长默认值为1

2.4.3 长度

  l=[111,222,333,444,555]

  print(len(l))

2.4.4 成员运算in和not in

  l=[111,222,333,444,555]

  print(111 in l)

  print(111 not in l)

2.4.5 追加

  l=[111,222,333,444,555]

  l.append(666)

2.4.6 往指定位置前插入值insert

  l=[111,222,333,444,555]

  l.insert(0,00)

2.4.7 删除

  l=[111,"aaa",222,333,444,555]

  1.del

    del是通用的、不是列表专属的删除方式

    del l[1]

  2.remove

    列表专属的删除方式之指定元素删除

    l.remove("aaa")

  3.pop

    列表专属的删除方式之指定索引删除

    l.pop(1) # 默认删除的是索引-1对应的值

2.4.8 循环

  for item in l:

2.5 需要掌握的操作

2.5.1 count

  统计某一元素出现的次数

    l=[111,222,111,111]

    print(l.count(111))

2.5.2 sort

  对列表进行排序

    l = [10, -1, 3, 2, 11, 7]

    l.sort()

    l.sort(reverse=True)

      reverse=True为反转

2.5.3 clear

  清空列表

    l.clear()

2.5.4 reverse

  反转列表

    l.reverse()

2.5.5 extend

  一次添加多个值

    l=[11,22,33]

    l.extend([44,55,66])

2.5.6 copy

  拷贝到一个新列表

    l2=l1.copy()

  等同于l4=l1[:]

2.6 类型总结

列表可以存放多个值

列表是有序的并且是可变类型

相关推荐