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

Posted 最冷不过冬夜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 b‘.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 类型总结

  列表可以存放多个值

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

以上是关于2020 python学习第六天————字符串操作和列表操作的主要内容,如果未能解决你的问题,请参考以下文章

python 学习第六天 文件的处理方式

python 学习第六天 文件的处理方式

Python 3 学习的第六天——文件操作

Python的第六天

Python 3 学习的第六天——Python基础

孤荷凌寒自学python第六十六天学习mongoDB的基本操作并进行简单封装5