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]
    
    
    



  • 相关阅读:
    Leetcode 811. Subdomain Visit Count
    Leetcode 70. Climbing Stairs
    Leetcode 509. Fibonacci Number
    Leetcode 771. Jewels and Stones
    Leetcode 217. Contains Duplicate
    MYSQL安装第三步报错
    .net 开发WEB程序
    JDK版本问题
    打开ECLIPSE 报failed to load the jni shared library
    ANSI_NULLS SQL语句
  • 原文地址:https://www.cnblogs.com/chenrun/p/9117544.html
Copyright © 2011-2022 走看看