数据库运维
记录DBA学习成长历程

Python高级变量类型代码

hm_01_列表基本使用.py

name_list = ["zhangsan","lisi","wangwu"]

# 1.取值和取索引
# list index out of range - 列表索引超出范围
print(name_list[0])
print(name_list[1])
print(name_list[2])
# 知道数据的内容,想确定数据在列表中的位置
# 使用index方法需要注意,如果传递的数据不在列表中,程序会报错!
print(name_list.index("lisi"))
print(name_list.index("zhangsan"))
print(name_list.index("wangwu"))
# 2. 修改
name_list[1] = "李四"
# list assignment index out of range
# 列表指定的索引超出范围,程序会报错!
# name_list[3] = "王小二"
# 3. 增加
# append 方法可以向列表的末尾追加数据
name_list.append("王小二")
# insert 方法可以在列表的指定索引位置插入数据
name_list.insert(1,"小美眉")
# extend 方法可以把其他列表中的完整内容,追加到当前列表的末尾
temp_list = ["孙悟空","猪二哥","沙师弟"]
name_list.extend(temp_list)
# 4. 删除
# remove 方法可以从列表中删除指定的数据
name_list.remove("wangwu")
# pop 方法默认可以把列表中最后一个元素删除
name_list.pop()
# pop 方法可以指定要删除元素的索引
name_list.pop(3)
# clear 方法可以清空列表
name_list.clear()

print(name_list)

hm_02_del关键字.py

name_list = ["张三","李四","王五"]
# (知道)使用 del 关键字(delete)删除列表元素
# 提示:在日常开发中,要从列表删除数据,建议使用列表提供的方法
del name_list[0]
# del 关键字本质上是用来将一个变量从内存中删除的
name = "小明"

del name
# 注意:如果使用 del 关键字将变量从内存中删除
# 后续的代码就不能再使用这个变量了
# print(name)

print(name_list)

hm_03_列表的数据统计.py

name_list = ["张三","李四","王五","王小二","张三"]

# len(length 长度) 函数可以统计列表中元素的总数
list_len = len(name_list)
print("列表中包含 %d个元素" % list_len)

# count 方法可以统计列表中某一个数据出现的次数
count = name_list.count("张三")
print("张三出现了 %d 次" % count)

# 从列表中删除第一次出现的数据,如果数据不存在,程序会报错
name_list.remove("张三")
print(name_list)

hm_04_列表排序.py

name_list = ["zhangsan", "lisi", "wangwu", "wangxiaoer"]
num_list = [6, 8, 4, 1, 10]

# 升序
# name_list.sort()
# num_list.sort()

# 降序
# name_list.sort(reverse=True)
# num_list.sort(reverse=True)

# 逆序(反转)
name_list.reverse()
num_list.reverse()

print(name_list)
print(num_list)

hm_05_列表遍历.py

name_list = ["张三", "李四", "王五", "王小二"]

# 使用迭代遍历列表
"""
顺序的从列表中依次获取数据,每一次循环过程中,数据都会保存在 
my_name 这个变量中,在循环体内部可以访问到当前这一次获取到的数据
"""
for my_name in name_list:
    print("我的名字是 %s " % my_name)

hm_06_元组基本使用.py

info_tuple = ("zhangsan",18,75,"zhangsan")
# 1. 取值和取索引
print(info_tuple[0])
# 已经知道数据的内容,希望知道该数据在元组中的索引
print(info_tuple.index(18))
# 2. 统计计数
print(info_tuple.count("zhangsan"))
# 统计元组中包含元素的个数
print(len(info_tuple))

hm_07_元组遍历.py

info_tuple = ("zhangsan", 18, 1.75)

# 使用迭代遍历元组
for my_info in info_tuple:
    # 如果使用格式字符串拼接 my_info 这个变量不方便!
    # 因为元组中通常保存的数据类型是不同的!
    print(my_info)

hm_08_格式化字符串.py

info_tuple = ("小明", 233, 1.85)

print("%s 年龄是 %d 身高是 %.2f" % info_tuple)

info_str = "%s 年龄是 %d 身高是 %.2f" % info_tuple"
print(info_tuple)

hm_09_字典的定义.py

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

hm_10_字典基本使用.py

xiaoming_dict = {"name": "小明"}

# 1.取值
print(xiaoming_dict["name"])
# 在取值的时候,如果指定的key不存在,程序会报错!
# print(xiaoming_dict["name123"])

# 2.增加 /修改
# 如果key不存在,会新增键值对
xiaoming_dict["age"] = 18
# 如果key存在,会修改已经存在的键值对
xiaoming_dict["name"] = "小小明"

# 3.删除
xiaoming_dict.pop("name")
# 在删除指定键值对的时候,如果指定的key不存在,程序会报错!
# xiaoming_dict.pop("name123")

print(xiaoming_dict)

hm_11_字典的其他操作.py

xiaoming_dict = {"name": "小明",
                 "age": 18}
# 1. 统计键值对数量
print(len(xiaoming_dict))

# 2. 合并字典
temp_dict = {"height": 1.75,
             "age": 20}
xiaoming_dict.update(temp_dict)

# 3. 清空字典
xiaoming_dict.clear()


print(xiaoming_dict)

hm_12_字典的遍历.py

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

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

for k in xiaoming_dict:
    print("%s - %s" % (k,xiaoming_dict[k]))

hm_13_字典的应用场景.py

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

for card_info in card_list:
    print(card_info)

hm_14_字符串定义和遍历.py

str1 = "hello python"
str2 = '我的外号是“大西瓜”'
print(str1)
print(str2)

print(str1[6])

for char in str2:
    print(char)

hm_15_字符串统计操作.py

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("l"))
# 注意:如果使用index方法传递的子字符串不存在,程序会报错!
# print(hello_str.index("z"))

hm_16_字符串判断方法.py

# 1. 判断是否只包含空白字符空格
space_str = "      \t\n\r"
print(space_str.isspace())\

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

hm_17_字符串的查找和替换.py

hello_str = "hello world"

# 1. 判断是否以指定字符串开始
# print(hello_str.startswith("hello")) # True
# print(hello_str.startswith("Hello")) # False

# 2. 判断是否以指定字符串结束
# print(hello_str.endswith("world"))  # True

# 3. 查找指定字符串
# index同样可以查找指定的字符串在大字符串中的索引
# print(hello_str.find("llo")) # 2
# index如果指定的字符串不存在,会报错
# find如果指定的字符串不存在,会返回-1
# print(hello_str.find("abc")) # -1

# 4. 替换字符串
# replace方法执行完成之后,会返回一个新的字符串
# 注意:不会修改原有字符串的内容
print(hello_str.replace("world","Python"))
print(hello_str)

hm_18_字符串文本对齐.py

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

hm_19_字符串拆分和拼接.py

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

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

hm_19_字符串的切片.py

num_str = "0123456789"
# 截取2~5的位置
print(num_str[2:6])
# 截取2~末尾字符串
print(num_str[2:])
# 截取 开始~5 的位置
print(num_str[0:6])
print(num_str[:6])
# 截取完整的字符串
print(num_str[:])
# 从开始位置,每隔一个字符截取字符串
print(num_str[::2])
# 从索引1开始,每隔一个取一个
print(num_str[1::2])
# 截取从2~末尾-1的字符串
print(num_str[2:-1])
# 截取字符串末尾两个字符
print(num_str[-2:])
# 字符串的逆序(面试题)
print(num_str[-1::-1])
print(num_str[::-1])

hm_20_for语法演练.py

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

hm_21_遍历字典的列表.py

student = [
    {"name": "阿土"},
    {"name": "小美"}
]
# 在学员列表中搜索指定的姓名
find_name = "张三"
for stu_dict in student:
    print(stu_dict)
    if stu_dict["name"] == find_name:
        print("找到了 %s" %find_name)
        # 如果已经找到,应该直接退出循环,而不再遍历后续的元素
        break
    # else:
    #     print("没有找到 %s" % find_name)
    # 如果希望在搜索列表时,所有的字典检查之后,都没有发现需要搜索的目标
    # 还希望得到一个统一的提示!
else:
    print("没有找到 %s" % find_name)
print("循环结束")
赞(0)
MySQL学习笔记 » Python高级变量类型代码