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

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

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

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

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

总结

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

(0)

相关推荐

  • python判断变量是否为int、字符串、列表、元组、字典的方法详解

    在实际写程序中,经常要对变量类型进行判断,除了用type(变量)这种方法外,还可以用isinstance方法判断: a = 1 b = [1,2,3,4] c = (1,2,3,4) d = {'a':1, 'b':2, 'c':3} e = "abc" if isinstance(a,int): print ("a is int") else: print ("a is not int") if isinstance(b,list): prin

  • python字符串,元组,列表,字典互转代码实例详解

    python字符串,元组,列表,字典互相转换直接给大家上代码实例 #-*-coding:utf-8-*- #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type 'str'> {'age': 7, 'name': 'Zara', 'class': 'First'} print type(str(dict)), str(dict) #字典可以转为元组,返回:('age', 'name', 'class

  • Python爬虫:将headers请求头字符串转为字典的方法

    原生请求头字符串 raw_headers = """Host: open.tool.hexun.com Pragma: no-cache Cache-Control: no-cache User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36 Accept: */* Re

  • Python 字典与字符串的互转实例

    字典转换为字符串 if __name__ == '__main__': a = {'a' : 1, 'b' : 2, 'c' : 3} b = str(a) print(type(b)) 输出结果为: <class 'str'> --------------------------------------------------------------- 字符串转换为字典 if __name__ == '__main__': a = "{'a' : 1, 'b' : 2, 'c' :

  • python实现字符串和字典的转换

    一.把一个字符串的内容提取出来,并放到字典中 流程如下: 1.得到字符串s,通过分割提取得到s1(是个列表) s="name=lyy&age=3&sex=women&boyfriend=czt" 2.需要再对s1进行拆分,此时s1只有4个元素,对s1进行遍历,拿到类似"name=lyy"的字符串,即s2 3.同样通过分割把s2分割成s3列表 4.s3为[name,lyy],即为字典的键和值赋值,键=s3[0],值=s3[1] 代码如下: #

  • 在Python中字符串、列表、元组、字典之间的相互转换

    一.字符串(str) 字符串转换为列表 使用list()方法 str_1 = "1235" str_2 = 'zhangsan' str_3 = '''lisi''' tuple_1 = list(str_1) tuple_2 = list(str_2) tuple_3 = list(str_3) print(type(tuple_1)) print(type(tuple_2)) print(type(tuple_3)) print(tuple_1) print(tuple_2) pr

  • Python字符串、列表、元组、字典、集合的补充实例详解

    本文实例讲述了Python字符串.列表.元组.字典.集合.分享给大家供大家参考,具体如下: 附加: python的很多编译器提供了代码补全功能,并且在填入参数时提供提示功能 字符串 1.常用函数: 字符串是不可变对象,字符串的方法都不会改变原字符串的数据 s=" hEllo world!\t " print("s.capitalize():",s.capitalize())#标题格式化 print("s.center(20,'-'):",s.ce

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

    目录 1.字典的定义 字典和列表的区别: 字典的基本使用 2.循环遍历 3.字符串的定义 4.字符串的常用操作 字符串 查找和替换 字符串 文本对齐演练 去除空白字符 字符串拆分和连接 5.字符串的切片 总结 1.字典的定义 dictionary(字典)是出列表以外 Python 之中 最灵活 的数据类型,字典统一可以用来 存储多个数据,通常用于存储 描述一个 物体 的相关信息: 字典和列表的区别: 列表 是 有序 的对象集合: 字典 是 无需 的对象集合: 字典用 { } 定义 字典使用 键值

  • Python高级文件操作之shutil库详解

    前言 什么算是高层的文件操作呢? 普通的文件操作,我们一般只涉及创建文件,文件夹以及写入文件等等.假如我现在需要复制一个文件的内容到另一个文件之中,用pathlib等都只能先打开复制文件,然后进行将其读出来保存,然后再写入新的文件,这种普通的复制操作,无形之中增加了许多步骤. 而shutil库可以直接完成复制符间的操作,同时还支持归档.本篇,将详细介绍文件的高层次操作. 一.copyfile() copyfile()函数用于将一个文件的内容复制到另一个文件之中,准备的来说,它不是copy内容,而

  • Python中变量的输入输出实例代码详解

    1.变量的输入: input函数: input() input("请输入银行卡密码") password = input("请输入银行卡密码") 变量名 = input("XXX") # 用输入函数给变量赋值 输入函数给变量赋值举例: 注:所有input()得到的数据类型都是str字符串类型 2.变量类型的转换函数: • int(x) # str转整数 • float(x) # str转小数 转换举例: 3.输入综合练习: # 1.输入苹果的单价

  • python的变量和简单数字类型详解

    目录 1. 变量 1.1 使用变量名时避免命名错误 2.字符串 2.1 修改字符串大小写的方法 2.2 合并字符串 2.3 使用制表符或换行符来添加空白 2.4 删除空白 2.5 使用字符串时需要避免语法错误 3. 数字类型 3.1 整数 3.2 浮点数 3.3 复数 3.4 使用函数str()避免类型错误 4 .注释 5 .python之禅 总结 1. 变量 每个变量都存储了一个值 在程序中可以随时修改变量,但Python将始终记录变量的最新值 message = "Hello Huang Z

  • C++变量,常量,数组和字符串详解

    目录 一.内存和寻址概述 二.变量 1.声明变量 2.变量的作用域 2.1 局部变量 2.2 全局变量 3.c++变量类型 3.1.bool布尔类型 3.2 char字符型 4.常量 总结 一.内存和寻址概述 可编程设备包含微处理器和一定数量的临时存储空间.临时存储器被称为随机存取存储器(RAM). RAM类似于宿舍里成排存物柜的存储区域,每个存物柜都有编号,即地址.要访问特定的内存单元,需要使用指令要求处理器从这里获取值或写入值. 微处理器负责执行应用程序,并从RAM中获取要执行的应用程序以及

  • 关于Python字典(Dictionary)操作详解

    目录 一.创建字典 二.访问字典里的值 三.修改字典 四.删除字典元素 五.字典键的特性 六.字典内置函数&方法 Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'} 也可如此创建字典 dict1 = { 'abc': 456 } dict2 = { '

  • 基于Python的文件类型和字符串详解

    1. Python的文件类型 1. 源代码--直接由Python解析 vi 1.py #!/usr/bin/python print 'hello world' 这里的1.py就是源代码 执行方式和shell脚本类似: chmod +x 后,./1.py Python 1.py 2. 字节代码 Python源码文件经编译后生成的扩展名为pyc的文件 编译方法: [root@t1 py]# cat 2.py #!/usr/bin/python import py_compile py_compil

  • Python字典及字典基本操作方法详解

    本文实例讲述了Python字典及字典基本操作方法.分享给大家供大家参考,具体如下: 字典是一种通过名字或者关键字引用的得数据结构,其键可以是数字.字符串.元组,这种结构类型也称之为映射.字典类型是Python中唯一內建的映射类型,基本的操作包括如下: (1)len():返回字典中键-值对的数量: (2)d[k]:返回关键字对于的值: (3)d[k]=v:将值关联到键值k上: (4)del d[k]:删除键值为k的项: (5)key in d:键值key是否在d中,是返回True,否则返回Fals

  • Python 字典的使用详解及实例代码

    目录 字典长什么样 字典内能放什么 访问字典内容 修改字典内容 删除字典数据 字典内置函数 字典是Python实现散列表数据结构的形式,表现映射的关系,一对一. 字典长什么样 {}这是一个空字典,可以看出字典是由两个花括号组成的. 在看这个{'a':1},这里面装了一对数据,'a'可称为键,1称为值 这个{'键1':'值1', '键2':'值2'}每一对数据 字典内能放什么 字典内的健是唯一的,在字典内所有内容中只存在一个,但值可以重复出现. 健只能是不变的值,比如字符串,数字,元组 值可以随意

  • python变量不能以数字打头详解

    在编写python函数时,无意中发现一个问题:python中的变量不能以数字打头,以下函数中定义了一个变量3_num_varchar,执行时报错. 函数如下: def database_feild_varchar_trans(in_feild): ''' transfer the feild if varchar then 3times lang else no transfer ''' feild_split = in_feild.split(' ') is_varchar = feild_s

随机推荐