Python基础-高级数据类型(2)

目录

1.字典的定义

2.字典基本使用

3.字典的其他操作

4.字典的遍历

5.字典的应用场景

6.字符串定义和遍历

7.字符串统计操作

8.字符串判断方法

9.字符串的查找和替换

10.字符串文本对齐

11.字符串拆分和拼接

12.for语法拼接

13.遍历字典的列表

1.字典的定义

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

2.字典基本使用

xiaoming_dict = {"name": "小明"}
# 1.取值
xiaoming_dict["name"]
print(xiaoming_dict["name"])
# 在取值的时候,如果指定的key不存在,程序会报错!
# print(xiaoming_dict["name123"])
# 2.增加/修改  如果key不存在,会新增键值对;如果key存在,会修改已经存在的键值对
xiaoming_dict["age"] = 18
xiaoming_dict["name"] = "小小明"
# 3.删除
xiaoming_dict.pop("name")
# 在删除指定键值对的时候,如果指定的key不存在,程序会报错!
# xiaoming_dict.pop("name123")

print(xiaoming_dict)

3.字典的其他操作

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

print(xiaoming_dict)

4.字典的遍历

xiaoming_dict = {"name": "小明", "qq": 11234567, "phone": "10086"}

# 迭代遍历字典
# 变量k 是每一次循环中,获取到的键值对的key
for k in xiaoming_dict:
    print("%s - %s" % (k, xiaoming_dict[k]))

5.字典的应用场景

# 使用多个键值对,存储一个物体的相关信息 ——描述更复杂的数据信息
# 将多个字典放在一个列表中 再进行遍历
card_list = [
    {"name": "张三", "qq": "12345", "phone": "110"},
    {"name": "李四", "qq": "13434", "phone": "120"},

]
for card_info in card_list:
    print(card_info)

6.字符串定义和遍历

str1 = "hello python"
str2 = '我得外号是"大西瓜"'
print(str1)
print(str2)
print(str1[6])
for c in str2:
    print(c)

7.字符串统计操作

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

8.字符串判断方法

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

# 2.判断字符串中是否只包含数字
num_str = "(1)"
# 1》都不能判断小数
num_str = "1.1"
# 2》unicode 字符串
num_str = "\u00b2"
# 3》中文数字
# num_str = "一千零一"
print(num_str)
print(num_str.isdecimal())
print(num_str.isdigit())
print(num_str.isnumeric())

9.字符串的查找和替换

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

print(hello_str)

10.字符串文本对齐

# 要求:顺序并且居中对齐输出以下内容
poem = ["登鹳雀楼",
        "王之涣 ",
        "白日依山尽",
        "黄河入海流",
        "欲穷千里目",
        "更上一层楼"]

for poem_str in poem:
    #  print("|%s|" % poem_str.ljust(10, " "))
    #  print("|%s|" % poem_str.rjust(10, " "))
    # print("|%s|" % poem_str.center(10, " "))
    # 先使用 strip方法去除字符串中的空白字符
    # 再使用center方法居中显示文本
    print("|%s|" % poem_str.strip().center(10, " "))

11.字符串拆分和拼接

# 假设:以下内容是从网络上抓取的
# 要求:
# 1.将字符串中的空白字符全部去掉
# 2.再使用" "作为分隔符,拼接成一个整齐的字符串
poem_str ="登鹳雀楼\t王之涣 \t 白日依山尽\t\n黄河入海流\t欲穷千里目\t\n更上一层楼"
print(poem_str)

# 1.拆分字符串
poem_list = poem_str.split()
# 2.合并字符串
print(poem_list)
poem_result = " ".join(poem_list)
print(poem_result)

12.for语法拼接

for num in [1,2,3]:
    print(num)
    if(num == 2):
        break
else:
    # 如果循环体内部使用break退出了循环 else下方的代码就不会执行
    print("会执行吗?")
print("循环结束")

13.遍历字典的列表

students = [{
    "name": "阿土"
}, {
    "name": "小妹"
}, {
    "name": "小张"
}
]
# 在学员列表中搜索指定的姓名
find_name = "张三"
for stu in students:
    print(stu)
    if stu["name"] == find_name:
        print("找到了 %s" % find_name)
        # 如果已经找到,应该直接退出循环,而不再遍历后续的元素
        break
    # else:
        # print("抱歉没有找到 %s" % find_name)
else:
    # 如果希望在搜索列表时,所有的字典检查之后,都没有发现需要搜索的目标,还希望得到一个统一的提示!
    print("抱歉没有找到 %s" % find_name)
print("循环结束")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值