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

 更新时间:2021年12月13日 15:53:42   作者:钢铁男儿  
这篇文章主要为大家介绍了Python 字典和字符串,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

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、字符串的切片

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

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

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

总结

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

相关文章

  • 基于Python实现的恋爱对话小程序详解

    基于Python实现的恋爱对话小程序详解

    这篇文章主要介绍了基于Python制作一个恋爱对话小程序,文章详细介绍了小程序的实现过程,感兴趣的小伙伴可以跟随小编一起学习学习
    2022-01-01
  • Python设计模式之外观模式实例详解

    Python设计模式之外观模式实例详解

    这篇文章主要介绍了Python设计模式之外观模式,结合实例形式详细分析了外观模式的概念、原理、用法及相关操作注意事项,需要的朋友可以参考下
    2019-01-01
  • 在Linux下调试Python代码的各种方法

    在Linux下调试Python代码的各种方法

    这篇文章主要介绍了在Linux下调试Python代码的各种方法,用于编程后的debug工作,需要的朋友可以参考下
    2015-04-04
  • pycharm修改文件的默认打开方式的步骤

    pycharm修改文件的默认打开方式的步骤

    在本篇文章里小编给大家整理了关于pycharm修改文件的默认打开方式的步骤以及相关知识点,需要的朋友们学习下。
    2019-07-07
  • Python高级特性与几种函数的讲解

    Python高级特性与几种函数的讲解

    今天小编就为大家分享一篇关于Python高级特性与几种函数的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • 对Python 数组的切片操作详解

    对Python 数组的切片操作详解

    今天小编就为大家分享一篇对Python 数组的切片操作详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Python用csv写入文件_消除空余行的方法

    Python用csv写入文件_消除空余行的方法

    今天小编就为大家分享一篇Python用csv写入文件_消除空余行的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • python实现redis三种cas事务操作

    python实现redis三种cas事务操作

    本篇文章主要介绍了python实现redis三种cas事务操作,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • Pyhton爬虫知识之正则表达式详解

    Pyhton爬虫知识之正则表达式详解

    正则表达式又称规则表达式,计算机科学的一个概念,正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本,这篇文章主要给大家介绍了关于Pyhton爬虫知识之正则表达式的相关资料,需要的朋友可以参考下
    2022-04-04
  • python实现比较类的两个instance(对象)是否相等的方法分析

    python实现比较类的两个instance(对象)是否相等的方法分析

    这篇文章主要介绍了python实现比较类的两个instance(对象)是否相等的方法,结合实例形式分析了Python判断类的实例是否相等的判断操作实现技巧,需要的朋友可以参考下
    2019-06-06

最新评论