• python的字符串、列表、字典和函数


    一、字符串

    • 在python中字符串无需通过像php中的explode或者javascript中的split进行分解即可完成切片,可以直接通过下标获取字符串中的每一个字符,下标从0开始,如果从厚望签署,下标从-1开始
    str = 'abcde'
    print(str[0])	#结果为:a
    print(str[2])	#结果为:c
    
    • 可以通过len()函数获取字符串的长度

    • 切片:str[起始位置:结束位置:步长]

    • 如果想要取字符串中的几个字符(切片),可以通过在方括号内添加冒号实线,冒号前为开始的小标,冒号后为结束的下标,截取的是冒号前开始到冒号后之间的字符,去尾不掐头

    str = 'abcde'
    print(str[1:3])		#结果为:bc
    print(str[2:3])		#结果为:c
    print(str[1:0])		#结果为:bcde  冒号后为零,视为取到最后一个
    
    • 加上第二个冒号后,第二个冒号后的数字相当于步长,即下标加几
    str = 'abcdeABCDE'
    print(str[1:8:2])		#结果为:bdAC
    print(str[-1:0:-1])		#结果为:EDCBAedcb
    print(str[-1::-1])		#结果为:EDCBAedcba
    print(str[::-1])		#结果为:EDCBAedcba
    print(str[::1])			#结果为:abcedABCED
    
    • 字符串常见操作:
      • find():从左向右查找字符串在目标字符串中第一次出现的位置,找不到返回-1。

        str = 'hello world!'
        print(str.find('o'))	#结果为:4
        
        • rfind():与find相反,从右向左找。

        • index():作用与find相同的,不同的是,如果找不到index会抛出一个异常。

        • rindex():同理。

        • count():返回查找字符串在目标字符串中出现的次数,不存在返回0。

        • replace('目标字符串', '要替换的字符串', 替换几次)

        • split():同javascript里的split函数,如果括号内什么都不写,默认以空格为目标切割(很好用)

        • join():作用同javascript里的join函数,但形式不同。

        a = ['aaa', 'bbb', 'ccc']
        b = '#'
        print(b.join(a))			#结果为:aaa#bbb#ccc
        
        • capitalize():把字符串第一个字符大写

        • title():把字符串的每个单词的首字母大写

        • startswith():检查字符串是否以目标字符串开头

        • endswith():与startswith相反

        • lower():把字符串中所有大写字符小写

        • upper():与lower相反

        • ljust()、rjust()、center():在括号内填写的数字长度内,靠左、靠右、居中。

        • lstrip()、rstrip()、strip():同javascript里的trim

        • partition():用字符串把目标字符串以该字符串为中心,分为左中右三部分,返回一个元祖。

          str = 'hello world'
          print(str.partition('o'))	#结果为:('hell', 'o', ' world')
          
        • rpartition():作用同partition,从右向左取第一个。

        • splitliness():按换行符进行分割。

        • isalpha():判断目标字符串是不是字母。

        • isdigit():判断目标是不是数字。

        • isalnum():判断目标是不是既有字母又有数字。

        • isspace():判断目标是不是空格

    二、列表

    • 形式:
    names = ['张三', '李四', '王五']
    
    • 列表的增加:

      • append("要添加的内容")
      • insert("位置", "要添加的内容")
    • 合并列表:

      • 直接用+号进行合并

      • 用extend()函数

      names1 = ['张三', '李四', "王五"]
      names2 = ['赵六', '吴七']
      names3 = names1 + names2
      print(names3)					#结果为:['张三', '李四', '王五', '赵六', '吴七']
      names1.extend(names2)
      print(names1)					#结果为:['张三', '李四', '王五', '赵六', '吴七']
      
    • 列表的删除:

      • pop():弹出列表中的最后一个
      • remove("内容"):删除列表中第一个目标内容
      • del 列表名[下标]
    • 列表的查找:

      • "要查找的内容" in 列表名
      • "要查找的内容" not in 列表名
    • 列表的遍历:

    for temp in 列表名:
        print(temp)
    else:
        print('end')	# for循环加上else,即为在for循环执行完成后,执行else部分
    
    • 列表的排序:
      • list.sort():将列表的值按升序排序。
      • list.sort(reverse=True):将列表的值按降序排序。
      • list.reverse():将列表逆序。

    三、字典

    • 形式:dic = {键:值, 键:值…},相当于PHP中的关联式数组,表现形式上与json对象相当
    • 字典的删除 del 字典名['键名']
    • 用get获取字典里的数据,当对应内容不存在时,不会报错:字典名.get('键名')
    • 字典的函数:
      • len(dic名):获取字典的键值对个数。
      • dic.keys():返回字典中所有的键。
      • dic.values():返回字典中所有的值。
      • dic.items():将字典转化为元祖。
    • 字典的排序:
      • dic.sort(key=lambda x:x['键名']):升序排列

    四、元祖

    • (11,22,33)功能与列表相同,不同之处在于元祖在定义后无法修改。

    五、函数

    • 不定长函数(元祖):
    def example(a, b, *args):
        print(a)
        print(b)
        print(args)
    
    example(1, 2, 3, 4, 5, 6, 7, 8)    #结果为:1 2 (3, 4, 5, 6, 7)
    
    • 不定长参数(字典):
    def test(a, b, c = 33, *args, **kwargs):
        print(a)
        print(b)
        print(c)
        print(args)
        print(kwargs)
    
    test(11, 22, 33, task = 99, done = 89)    #结果为:11 22 33 () {'task': 99, 'done': 89}
    
    • 函数的参数
      带默认值的参数被称为关键字参数,没有默认值的参数被称为位置参数,在定义函数的时候,位置参数不能放在关键字参数之后
  • 相关阅读:
    NBUT 1120 Reimu's Teleport (线段树)
    NBUT 1119 Patchouli's Books (STL应用)
    NBUT 1118 Marisa's Affair (排序统计,水)
    NBUT 1117 Kotiya's Incantation(字符输入处理)
    NBUT 1115 Cirno's Trick (水)
    NBUT 1114 Alice's Puppets(排序统计,水)
    188 Best Time to Buy and Sell Stock IV 买卖股票的最佳时机 IV
    187 Repeated DNA Sequences 重复的DNA序列
    179 Largest Number 把数组排成最大的数
    174 Dungeon Game 地下城游戏
  • 原文地址:https://www.cnblogs.com/peilanluo/p/8047112.html
Copyright © 2020-2023  润新知