Python快速入门(六)高级函数2:字典、字符串、for语法


前言:继续上一章《 Python快速入门(五)高级函数1:列表、del关键字、元组》的高级函数,这次主要是字典的定义、基本使用、遍历,字符串的定义、遍历、统计、判断、查找和替换、文本对齐、拆分和拼接等


1.字典的定义

  • 字典:是一个无序的数据集合,使用print函数输出字典时,通常输出的顺序和定义的顺序是不一致的。

代码:

fly = {"name": "fly",
       "age": 18,
       "gender": True,
       "height": 180,
       "weight": 70.5}

print(fly)

输出:
在这里插入图片描述

2.字典的基本使用

  • 主要分取值、增加/修改、删除。
  • 注意1:在取值的时候,如果指定的key不存在,程序会报错!
  • 注意2:在增加/修改的时候,如果key不存在,会新增键值对如果key存在,会修改已经存在的键值对
  • 注意3:在删除指定键值对的时候,如果指定的key不存在,程序会报错.

代码:

fly_dict = {"name": "飞"}
# 取值
print(fly_dict["name"])

# 增加/修改
fly_dict["age"] = 18
fly_dict["name"] = "小飞"
print(fly_dict)

# 删除
fly_dict.pop("name")
print(fly_dict)

输出:
在这里插入图片描述

3.字典的其他操作

  • 注意:如果被合并的字典中包含已经存在的键值对,会覆盖原有的键值对

代码:

fly_dict = {"name": "飞", "age": 20}

# 统计键值对数量
print(len(fly_dict))

# 合并字典
temp_dict = {"height": 180.5, "age": 20}
fly_dict.update(temp_dict)
print(fly_dict)

# 清空字典
fly_dict.clear()
print(fly_dict)

输出:
在这里插入图片描述

4.字典的遍历

  • 注意:迭代遍历字典,变量k是每一次循环中,获取到的键值对的key。

代码:

fly_dict = {"name": "飞","qq": "123456","phone": "10086"}
for k in fly_dict:
    print("%s---%s" % (k, fly_dict[k]))

输出:
在这里插入图片描述

5.字典的应用场景

  • 使用多个键值对,存储描述一个物体的相关信息,可以描述更复杂的数据信息。
  • 将多个字典 放在一个列表中然后再进行遍历。
    代码:
card_list = [
    {"name": "fly1",
     "qq": "12345666",
     "phone": "10086"},
    {"name": "fly2",
     "qq": "54321000",
     "phone": "10010"}
]

for card_info in card_list:
    print(card_info)

输出:
在这里插入图片描述

6.字符串定义和遍历

代码:

str1 = "hello python"
print(str1)
print(str1[2])

for char in str1:
    print(char)

输出:
在这里插入图片描述

7.字符串统计

  • 注意:如果使用index方法传递的子字符串不存在,程序会报错!

代码:

hello_str = "hello hello"

# 统计字符串长度
print(len(hello_str))

# 统计某一个小(子)字符串出现的次数
print(hello_str.count("llo"))
print(hello_str.count("abc"))

# 某一个子字符串出现的位置
print(hello_str.index("llo"))

输出:
在这里插入图片描述

8.字符串判断

代码:

# 判断空白字符
space_str = "      \t\n\r"
print(space_str.isspace())

# 中文数字
num_str = "一千零一"
print(num_str)
print(num_str.isdecimal())
print(num_str.isdigit())
print(num_str.isnumeric())

输出:
在这里插入图片描述

9.字符串查找和替换

代码:

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)

输出:
在这里插入图片描述

10.字符串文本对齐

  • 先使用strip方法去除字符串中的空白字符
  • 再使用center方法居中显示文本

代码:

poem = ["\t\n登鹳雀楼",
         "王之涣",
         "白日依山尽\t\n",
         "黄河入海流",
         "欲穷千里目",
         "更上一层楼"]

for poem_str in poem:
    print("|%s|" % poem_str.strip().center(10, " "))

输出:
在这里插入图片描述

11.字符串拆分和拼接

代码:

poem_str = "登鹳雀楼\t 王之涣 \t 白日依山尽 \t \n 黄河入海流 \t\t 欲穷千里目 \t\t\n更上一层楼"

print(poem_str)

# 拆分字符串
poem_list = poem_str.split()
print(poem_list)

# 合并字符串
result = " ".join(poem_list)
print(result)

输出:
在这里插入图片描述

12.for语法

  • 注意:如果循环体内部使用break退出了循环,else 下方的代码就不会被执行。

代码:

for num in [1, 2, 3, 4]:
    print(num)
    if num == 3:
        break
else:
    print("不会执行!")
print("循环结束")

输出:
在这里插入图片描述

13.遍历字典的列表

代码:

students = [
    {"name": "fly1"},
    {"name": "fly2"}
]

# 在学员列表中搜索指定的姓名
find_name = "fly"

for stu_dict in students:

    print(stu_dict)
    if stu_dict["name"] == find_name:
        print("找到---%s" % find_name)
        # 如果已经找到,应该直接退出循环,而不再遍历后续的元素
        break
else:
    print("抱歉没有找到 %s" % find_name)

print("循环结束")

输出:
在这里插入图片描述


结束!下节再见!!!

发布了129 篇原创文章 · 获赞 83 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/qq_32306361/article/details/105057559