Python 高级变量之字典和字符串详解

作者:钢铁男儿 时间:2021-11-16 19:36:35 

目录
  • 1、字典的定义

    • 字典和列表的区别:

    • 字典的基本使用

  • 2、循环遍历

    • 3、字符串的定义

      • 4、字符串的常用操作

        • 字符串 查找和替换

        • 字符串 文本对齐演练

        • 去除空白字符

        • 字符串拆分和连接

      • 5、字符串的切片

        • 总结

          1、字典的定义

          dictionary(字典)是出列表以外 Python 之中 最灵活 的数据类型,字典统一可以用来 存储多个数据,通常用于存储 描述一个 物体 的相关信息;

          字典和列表的区别:

          • 列表 是 有序 的对象集合;

          • 字典 是 无需 的对象集合;

          • 字典用 { } 定义

          字典使用 键值对 存储数据,键值对之间使用 , 分割;

          键:Key ,是索引;

          值: Value, 是数据;

          键 和 值 之间使用 ; 分割

          键必须是唯一的;

          值 可以取任何数据类型,但 键 只能使用 字符串、数字 或元组;


          # 字典是一个无序的数据集合,使用print函数输出字典时,通常
          # 输出的顺序和定义的顺序是不一致的!
          xiaoming = {"name":"小明",
                     "age":18,
                     "gender":True,
                     "height":1.75,
                     "weight":75.5}
          print(xiaoming)

          字典的基本使用


          xiaom_dict = {"name":"小明"}
          # 取值
          #在取值的时候,如果指定的Key不存在,程序会报错!
          print(xiaom_dict["name"])
          # 增加/删除
          # 如果 key 不存在,会新增键值对
          xiaom_dict["age"] = 18
          # 如果 key 存在,会修改意见存在的键值对
          xiaom_dict["name"] = "小小明"
          # 删除
          # 在删除指定键值得时候,如果指定的key不存在,程序会报错
          xiaom_dict.pop("name")
          print(xiaom_dict)

          xioaming_dict = {"name":"小明",
                          "age":18}
          # 统计键值对数量
          print(len(xioaming_dict))
          # 合并字典
          temp_dict = {"height":1.75,
                      "age":20}
          # 注意 如果被合并的字典中包含已经存在的键值对,会覆盖原有的键值对
          xioaming_dict.update(temp_dict)
          # 清空字典
          xioaming_dict.clear()
          print(xioaming_dict)

          2、循环遍历

          遍历 就是 依次 从 字典 中获取所有键值对;


          xiaoming_dict = {"name":"小明",
                          "qq":"123456",
                          "phone":"10086"}
          # 迭代遍历字典
          # 变量K是每一次循环中,获取到的键值对的Key
          for K in xiaoming_dict:
            print("%s - %s " % (K,xiaoming_dict[K]))

          提示:在实际开发中,由于字典中每一个键值对保存数据的类型是不同的,所以针对字典的循环遍历需求并不是很多。


          # 使用 多个键值对,存储 描述一个 物体 的相关新 描述更复杂的数据信息
          # 将 多个字典 放在一个列表中,再进行遍历
          card_list = [
             {"name":"张三",
              "qq":"123456",
              "phone":"110"},
             {"name":"李四",
              "qq":"10086"},
          ]
          for card_info in card_list:
            print(card_info)

          3、字符串的定义

          字符串 就是 一串字符,是编程语言中表示文本的数据类型:

          虽然可以使用" 或者 ' 做字符串的转义,但是在实际开发中:

          如果字符串内部需要使用 ' ,可以使用 " 定义字符串

          可以使用 索引 获取一个字符串中 指定位置的字符,索引计数从0开始;

          也可以使用 for 循环遍历 字符串中加一个字符。

          大多数编程语言都是使用" 来定义字符串。

          4、字符串的常用操作

          在ipython3 中定义一个 字符串,例如:hello_str = “”

          输入 hello_str. 按下 TAB 键,ipython 会提示 字符串 能够使用的方法如下:


          hello_str = "hello hello"
          # 统计字符串长度
          print(len(hello_str))
          # 统计某一个小字符串出现的次数
          print(hello_str.count("llo"))
          print(hello_str.count('abc'))
          # 某一个字符串出现的位置
          print(hello_str.index("llo"))
          #  注意:如果使用index 方法传递的字符串不存在 程序会报错!
          #print(hello_str.index("abc"))

          字符串 查找和替换


          hello_str = "hello world"
          # 判断是否以指定字符串开始
          print(hello_str.startswith("hello"))
          # 判断是否以指定字符串结束
          print(hello_str.endswith("world"))
          # 查找指定字符串
          # index 同样可以查找指定的字符串在大字符串中的索引
          print(hello_str.find("llo"))
          #index如果指定的字符串不存在,会报错
          # find如果指定的字符串不存在,会返回-1
          print(hello_str.find("abc"))
          # 替换字符串
          # replace 方法执行完成之后,会返回一个新的字符串
          # 注意:不会修改原有字符串的内容
          print(hello_str.replace("world","python"))
          print(hello_str)

          字符串 文本对齐演练


          # 假设:以下内容是从网络上抓取得
          # 要求:顺序并且居中对齐输出以下内容
          poem = ["登喜鹊楼",
                 "王之涣",
                 "白日依山尽",
                 "黄河入海流",
                 "欲穷千里目",
                 "更上一层楼"]
          for poem_str in poem:
            print("|%s|" % poem_str.center(10," "))

          去除空白字符


          # 假设:以下内容是从网络上抓取得
          # 要求:顺序并且居中对齐输出以下内容
          poem = ["\t\n登喜鹊楼",
                 "王之涣",
                 "白日依山尽\t\n",
                 "黄河入海流",
                 "欲穷千里目",
                 "更上一层楼"]
          for poem_str in poem:
            # 先使用strip 方法去除字符串中的空白字符
             # 再使用center 方法居中显示文本
             print("|%s|" % poem_str.strip().center(10," "))

          字符串拆分和连接


          # 假设:以下内容是从网络上抓取得
          # 要求:将字符串中的空白字符全部去掉
          #      再使用“ ” 作为分割符,拼接成一个整齐的字符串
          poem_str = ["登喜鹊楼\t",
                 "王之涣\t",
                 "白日依山尽\t\n",
                 "黄河入海流\t\t",
                 "欲穷千里目\t\t",
                 "更上一层楼"]
          print(poem_str)
          # 拆分字符串
          poem_list = poem_str.split()
          print(poem_list)
          # 合并字符串
          result = " ".join(poem_list)
          print(result)

          5、字符串的切片

          切片 使用 索引值 来限定范围,从一个大的 字符串 中 切出 小的 字符串;

          列表 和 元组 都是 有序 的集合,都能够 通过索引值 获取到对应的数据;

          字典 是一个 无序 的集合,是使用 键值对 保存数据;

          总结

          本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

          来源:https://blog.csdn.net/weixin_42291376/article/details/121684607

          标签:Python,字典,字符串
          0
          投稿

          猜你喜欢

        • Python实现矩阵转置的方法分析

          2023-07-03 21:56:46
        • go语言题解LeetCode66加一示例详解

          2024-05-13 10:43:47
        • Python OpenCV实现3种滤镜效果实例

          2021-06-04 10:20:27
        • Python求算数平方根和约数的方法汇总

          2021-12-08 18:03:39
        • python错误提示:Errno 2] No such file or directory的解决方法

          2022-03-30 10:46:26
        • 《写给大家看的设计书》阅读笔记之亲密性原则

          2009-07-08 20:02:00
        • 20行代码教你用python给证件照换底色的方法示例

          2023-04-03 23:48:32
        • Python实现暴力破解wifi密码并打包成exe

          2022-04-27 22:24:29
        • 总结python 三种常见的内存泄漏场景

          2023-02-18 16:37:49
        • Python的条件锁与事件共享详解

          2021-12-16 22:02:23
        • vscode 左侧扩展活动栏内容消失的问题及解决方法

          2022-01-12 04:26:35
        • TensorFlow人工智能学习数据类型信息及转换

          2022-11-02 09:12:55
        • PyQT5 emit 和 connect的用法详解

          2022-02-08 15:15:11
        • sql2005 存储过程分页示例代码

          2024-01-13 03:09:06
        • mysql split函数用逗号分隔的实现

          2024-01-19 12:46:40
        • AJAX和DOM的运行经验

          2008-05-02 21:05:00
        • Webpack中的文件指纹的实现

          2024-04-10 11:00:17
        • vue项目使用高德地图的定位及关键字搜索功能的实例代码(踩坑经验)

          2024-05-09 15:21:01
        • Mysql数据迁徙方法工具解析

          2024-01-23 18:23:30
        • Python之修改图片像素值的方法

          2022-03-14 03:46:18
        • asp之家 网络编程 m.aspxhome.com