zoukankan      html  css  js  c++  java
  • 字符串操作,列表,元组,字典操作

    # 数字int,数字主要是用于计算用的,使用方法并不是很多,就记住一种就可以了
    # bit_length() 当十进制用二进制表示时,最少使用的位数
    v = 11
    data = v.bit_length()  # 1011
    print(data)  # data = 4
    
    # bool
    # 真 1 True
    # 假 0 False
    
    # 字符串str
    # 索引即下表,就是字符串组成的元素从第一个开始,初始索引为0以此类推
    a = 'abcdefghijk'
    print(a[0])  # a
    print(a[3])  # d
    print(a[5])  # f
    print(a[7])  # h
    
    # 切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚)
    a = 'abcdefghijkfjlmnopqrst'
    
    print(a[0:3])  # abc
    print(a[2:5])  # cde
    print(a[0:])  # abcdefghijklmnopqrst
    print(a[0:-1])  # abcdefghijklmnopqrs
    print(a[0:5:2])  # ace
    print(a[5:0:-2])  # fdb
    
    # 字符串的常用方法
    # captalize, swapcase, title
    name = 'chenrun'
    print(name.capitalize())  # 首字母大写 Chenrun
    
    name = 'alex'
    print(name.swapcase())  # 大小写反转 ALEX
    
    msg = 'chenrun say hi'
    print(msg.title())  # 每个单词的首字母大写 Chenrun Say Hi
    
    # 内容居中,总长度,空白处填充
    a1 = 'chenrun'
    ret2 = a1.center(20, '*')
    print(ret2)
    
    # 数字符串中的元素出现的个数
    ret3 = a1.count('c', 0, 4)  # 可切片
    print(ret3)
    
    a2 = 'hqw	'
    # 	前面的补全
    # 默认将一个tab键变成8个空格,如果tab前面的字符串长度不足8个,则补全8个,如果tab键前面的字符长度超过8个不足16个则补全16个,以此类推每次补全8个.
    ret4 = a2.expandtabs()
    print(ret4)
    a4 = 'dkfjdkfasf54'
    # startswitch 判断是否以...开头
    # endswitch 判断是否以...结尾
    ret4 = a4.endswith('jdk', 3, 6)
    print(ret4)  # True 返回的是bool
    ret5 = a4.startswith('kfj', 1, 4)
    print(ret5)
    ret6 = a4.startswith('s')
    print(ret6)
    
    # 寻找字符串中的元素是否存在
    ret7 = a4.find('fjdk', 1, 6)  # kfjdk
    print(ret7)  # 返回的找到的元素的索引,如果找不到返回-1
    
    ret8 = a4.index('dk', 4, 6)
    print(ret8)  # 返回的找到的元素索引,找不到报错
    
    # split 以什么分割,最终形成一个列表此列表不含有这个分割的元素
    ret9 = 'title, Tilte, atre, '.split('t')
    print(ret9)
    ret91 = 'title,Tilte,atre,'.rsplit('t', 1)  # 't'是可选参数,指定的分隔符,默认为所有的空字符,包括空格,换行(
    ),制表符(	ab);count 可选参数,分割次数,默认为分隔符在字符串中出现的总次数
    print(ret91)
    
    
    # format的三种玩法 格式化输入
    res = '{} {} {}'.format('egon', '18', 'male')
    res1 = '{1} {0} {1}'.format('egon', '18', 'male')
    res2 = '{name} {age} {sex}'.format(sex='male', name='egon', age='18')
    print(res)
    print(res1)
    print(res2)
    
    # strip
    name = '*egon**'
    print(name.strip('*'))  # egon
    print(name.lstrip('*'))  # egon**
    print(name.rstrip('*'))  # *egon
    
    # replace
    name = 'alex say : i have one tesla, my name is alex'
    print(name.replace('alex', 'sb', 1))
    
    
    ####is 系列
    name = 'jinxin123'
    print(name.isalnum())  # 字符串由字母或数字组成
    print(name.isalpha())  # 字符串只由字母组成
    print(name.isdigit())  # 字符串只由数字组成,返回bool
    元祖tupe
    元祖被称为只读列表,即数据可以被查询,但不能被修改,所以字符串的切片操作同样适用于元祖.

    列表list
    列表是python中的基础数据类型之一,其他语言中也有类似的列表数据类型,比如js中叫数组,他是翌[]括起来,每个元素翌逗号隔开,而且他里面可以存放各种数据类型比如:
    li = ['alex', 123, True, (1,2,3,'wusir'),[1,2,3,'xiaoming'],{'name':'slex'}]
    列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是536870912个元素,64位python限制是1152921504606846975个元素,而且列表是有序的,由索引值,可切片,方便取值


    列表的增删改查
    li = [1, 'a', 'b', 2, 3, 'a']
    li.insert(0, 5)  # 按照索引去增加,在0的位置增加数字5
    print(li)
    li.append('aaa')  # 增加到最后
    print(li)
    li.append([1,2,3])  # 增加到最后
    print(li)
    li.extend(['q,a,w'])  # 迭代的去增
    print(li)
    li.extend(['q,a,w', 'aaa'])
    print(li)
    li.extend('abc')
    print(li)
    li.extend('a,b,c')
    print(li)
    
    # 列表的删
    l1 = li.pop(1)  # 按照位置去删除,有返回值
    print(l1)
    
    del li[1:3]  # 按照位置去删除,也可切片删除没有返回值
    print(li)
    
    li.remove('a')  # 按照元素去删除
    print(li)
    
    li.clear()  # 清空列表
    print(li)
    
    # 列表的改
    li5 = [1, 'a', 'b', 2, 3, 'a']
    li5[1] = 'dfasdfas'
    print(li5)
    li5[1:3] = ['a', 'b']
    print(li5)
    
    #  查: 切片去查,或者循环去查
    
    # 其他操作
    # count(数)(方法统计某个元素在列表中出现的次数)
    a = ['q', 'w', 'q', 'r', 't', 'y']
    print(a.count('q'))
    # index (方法用于从列表中找出某个值第一个匹配项的索引位置)
    b = ['q', 'w', 'q', 'r', 't', 'y']
    print(b.index('r'))
    
    # sort (方法用于在原位置对列表进行排序); reverse (方法将列表中的元素方向存放)
    a = [2, 1, 3, 4, 5]
    a.sort()  # 他没有返回值,所以只能打印
    print(a)  # [1, 2, 3, 4, 5]
    a.reverse()  # 他也没有返回值,所以只能打印a
    print(a)  # [5, 4, 3, 2, 1]
    
    
    



  • 相关阅读:
    join()方法作用
    多线程的运行状态
    守护线程和非守护线程
    多线程快速入门
    Spring Boot2.0之注解方式启动Springmvc
    Spring Boot2.0之 原理—创建内置Tomcat容器
    Spring Boot2.0之纯手写框架
    Sprin Boot2.0之整合Mybatis整合分页插件
    linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制)
    PHP编程效率的20个要点
  • 原文地址:https://www.cnblogs.com/chenrun/p/9117544.html
Copyright © 2011-2022 走看看