zoukankan      html  css  js  c++  java
  • 字符串与列表的 常用方法

     1.字符串类型
        定义: 由 '',"",''' ''',包裹着的内容组成
        作用:可以通过引号的嵌套,使内部不同的引号在不转义的情况下直接输出
             eg:  s2 = '你是"好学生"'
              print(s2)
        1.字符串的基本方法
    
            1.字符串的索引取值: 字符串[index]
                注:正向取值从0编号,反向取值从-1编号
            2.字符串拼接
                如果要拼接其他类型
                转类型   或 用万能%s
            3.字符串长度
                eg: 
                    a = 'dksjf'
                    print(len(a))
    
            4.字符串切片: 取子字符串 - [::] - [start_index:end_index:step]
                s4 = '123abc呵呵'
                sub_s = s4[0:6:]
                print(sub_s)  # 123abc
                sub_s = s4[0:6:2]
                print(sub_s)  # 13b
                sub_s = s4[::-1]
                print(sub_s)  # 呵呵cba321
                sub_s = s4[-1:-6:-1]
                print(sub_s)  # 呵呵cba
            5.成员运算:判断某字符串是否在该字符串中
                s5 = '123abc呵呵'
                ss5 = '12a'
                print(ss5 in s5)  # False
                print(ss5 not in s5)  # True
    
            6.字符串循环(遍历)
                s6 = '123abc呵呵'
                for v in s5:
                    print(v)
    
        2.重要方法
    
            1.索引(目标字符串的索引位置)
                s1 = '123abc呵呵'
                print(s1.index('b'))
            2.去留白(默认去两端留白,也可以去指定字符)
                s2 = '***好 * 的  ***'
                print(s2.strip('*'))
            3.计算子字符串个数
                s3 = '12312312'
                print(s3.count('123'))
            4.判断字符串是否是数字:只能判断正整数
                s4 = '123'
                print(s4.isdigit())
            5.大小写转换
                s5 = "AbC def"
                print(s5.upper())  # 全大写
                print(s5.lower())  # 全小写
             了解:
                print(s5.capitalize())  # 首字母大写
                print(s5.title())  # 每个单词首字母大写
            6.以某某开头或结尾
                s6 = 'https://www.baidu.com'
                r1 = s6.startswith('https:')
                r2 = s6.startswith('http:')
                r3 = s6.endswith('com')
                r4 = s6.endswith('cn')
                if (r1 or r2) and (r3 or r4):
                    print('合法的链接')
                else:
                    print('非合法的链接')
                
            7.替换
                s7 = 'egon say: he is da shuai b,egon!egon!egon!'
                new_s7 = s7.replace('egon', 'Liu某')  # 默认替换所有
                print(new_s7)
                new_s7 = s7.replace('egon', 'Liu某', 1)  # 替换一次
                print(new_s7)
            8.格式化
                s8 = 'name:{},age:{}'
                print(s8.format('Owen', 18))  # 默认按位置
                print('name:{1},age:{1}, height:{1}'.format('Owen', 18))  # 标注位置,一个值可以多次利用
                print('name:{n},age:{a}, height:{a}'.format(a=18, n="Zero"))  # 指名道姓
    
        3.扩展知识     
            1. find | rfind:查找子字符串索引,无结果返回-1
            2. lstrip:去左留白
            3. rstrip:去右留白
            4. center | ljust | rjust | zfill:按位填充
                语法:center(所占位数, '填充符号')
            5. expandtabs:规定	所占空格数
            6. captialize | title | swapcase:首字母大写 | 单词首字母大写 | 大小写反转
            7. isdigit | isdecimal | isnumeric:数字判断
            8. isalnum | isalpha:是否由字母数字组成 | 由字母组成
            9. isidentifier:是否是合法标识符
            10. islower | isupper:是否全小 | 大写
            11. isspace:是否是空白字符
            12. istitle:是否为单词首字母大写格式
    
             
    2.列表类型
        定义:
            1.list中可以存放多个值,可以存放所有类型的数据
            2.list中有序的,可以通过索引取值
    
         
        1.常用方法
            1.索引取值: 列表名[index]
                s1 = [1, 3, 2]
                print(s1[0])
                print(s1[-1])
            2.列表运算: 得到的是新list
                s2 = [1, 2, 3]
                print(s2 + s2)
                print(s2 * 2)
                print(s2)
            3.list的长度
                s3 = [3, 4, 1, 2, 5]
                print(len(s3))
            4.切片:[start_index:end_index:step]
                s4 = [1,3,9,5,9,6]
                print(s4[2:5])
             
            5.成员运算:in
                s5 = [3, 4, '1', 2, 5]
                print('1' in s5)
                print(1 in s5)
                print(5 not in s5)
            6.循环
                1.
                    for v in s5:
                        print(v, type(v))
                        
                2.只打印数字类型的数据
                    for v in s5:
                        if isinstance(v, int):
                            print(v, end=' ')
    
             
        2.list的增删改查
            ls = [1, 2, 3]
            1.查
                print(ls)
                print(ls[1])
            2.增
                ls.append(0)  # 末尾增
                print(ls)
                ls.insert(1, 666)  # 任意index前增
                print(ls)
                ls.insert(len(ls), 888)  # insert实行末尾增
                print(ls)
            3.改
                ls[1] = 66666
                print(ls)
            4.删
                ls.remove(888)
                print(ls)
                res = ls.pop()  # 默认从末尾删,并返还删除的值
                print(res)
                res = ls.pop(1)  # 从指定索引删除,并返还删除的值
                print(res, ls)
                
                1.了解
                del ls[2]
                print(res, ls)
                2.清空
                ls.clear()
                print(ls)
                
        3.list 拓展知识
    
            1.排序: 针对于同类型
                ls = ['3', '1', '2']
                ls.sort()  # 默认正向排序
                print(ls)
                ls.sort(reverse=True)  # 正向排序结果上翻转,形成倒序
                print(ls)
            2.翻转
                ls = ['3', '1', '2']
                ls.reverse()  # 按存储的顺序进行翻转
                print(ls)
            3.计算值的个数 => 列表中可以存放重复数据
                ls = [1, 2, 1, 2, 3, 1]
                print(ls.count(1))  # 对象1存在的次数
    
    
            4.整体增加,添加到末尾
                ls = [1, 2, 3]
                ls.extend('123')
                print(ls)
                ls.extend([0, 1, 2])
                print(ls)
                
            5.目标的索引位置,可以规定查找区间
                ls = [1, 2, 1, 2, 3, 1]
                
                需求:找对象1,在索引3开始往后找到索引6之前
                    ind = ls.index(1, 3, 6)
                    print(ind)
    
                     
                 
     
     
  • 相关阅读:
    set
    网络流学习(最小费用最大流)
    网络流学习(最大流)
    模拟退火学习
    NOI Day1T1归程(Kruskal重构树+Dijkstra)
    线性基学习
    高斯消元学习
    manacher算法学习(求最长回文子串长度)
    AC自动机模板2
    AC自动机入门
  • 原文地址:https://www.cnblogs.com/wyf20190411-/p/10726435.html
Copyright © 2011-2022 走看看