python实训第二节
字符串间比较运算
# str1 = "china"
# str2 = "ahina"
# print(str1>str2)
#
# list1 = [1,2,3,4,5]
# list2 = [1,2,3,4]
# print(list1<=list2)
索引
str01="新疆乌鲁木齐"
str02 = str01[1]
str03 = str01[2:] #取 乌鲁木齐
str04 = str01[-4:] #负索引 从小的开始
#str04 = str01[-1:-4] 不行的,,要从小到大
切片
# str05 = str01[1:4:2]
# str06 = str01[::2]
# str07 = str01[::-2]
# str08 = str01[:999:2] #这里切片不会有溢出异常
# print(str02)
# print(str03)
# print(str04)
# print(str05)
# print(str06)
# print(str07)
# print(str08)
ord 与 chr
# for i in str01:
# print(ord(i))
#
#
# for j in range(10000,10100):
# print(chr(j),end=" ")
# print(chr(10084))
#
三引号作用,及地址目录中“\”的处理
#
# stem = """床前明月光,
# 疑似地上霜,"""
# print(stem)
# ## \ 会换行 改为\\或者 前面加 r转义
# a = "D:\\pythonWorkSpace\\实训"
# b = r"D:\pythonWorkSpace\实训"
#
# print(a)
# print(b)
#
字符格式化
# name = input("请输入您的名字")
# age = input("请输入您的年龄")
# print("尊敬的%s,您今年%s岁"%(age,name))
# print("尊敬的{},您今年{}岁".format(age,name))
# #尊敬的22,您今年gjk岁
#
练习
#练习
# name = "灭爸"
# atk = 999
# hp = 1000.0
# print("%s攻击力是%d,血量有%.1f"%(name,atk,hp))
# print("{}攻击力是{},血量有{}".format(name,atk,hp))
#
# #判断是否是回文
# str1 = "1234321"
# str2=str1[::1]
# str3 = str1[::-1]
# print(str2==str3)
列表的追加,插入,合并 append insert extend
##列表的追加,插入,合并 append insert extend
# list1 = ["sb",100,True]
# list2 = list("abcde")
# list3 = list(range(5))
#
# list1.append("zhizhang")
# print(list1)
# print(list2)
# print(list3)
# list1.insert(1,"hp")
# print(list1)
#
# list1.extend(list2)
# print(list1)
切片替换
# ##切片替换
# list1 = [1,2,3,4]
# list1[1::2]=[22,33,44]
# print(list1)
深拷贝与浅拷贝
深拷贝,改其中一个不会影响另一个。
深拷贝:复制整个依赖的变量 优点:修改其中一份数据,绝对不影响另外一份。 缺点:占用内存过多
import copy
list01 = ["唐僧",["悟空","八戒"]]
list02 = copy.deepcopy(list01)
浅拷贝:复制过程中,只复制一层变量,不会复制深层变量绑定的对象的复制过程。
# 直接复制既不是深拷贝也不是浅拷贝
# list1 = [1,2,3]
# list2 = list1
# list2[2] = 4
# list1[0] = 0
# print(list1)
# print(list2)
# print(id(list1))
# print(id(list2))
join和split
# ## join拼接 split分割
# list1 = list("Iloveyou ")
#
# result = "❤".join(list1)
# print(result)
#
# list2 = result.split("❤")
# print(list2)
列表推导式
#语法:
#变量 = [表达式 for 变量1 in 可迭代对象1 for 变量2 in可迭代对象2]
#2. 传统写法:
#result = []
#for r in ["a", "b", "c"]:
# for c in ["A", "B", "C"]:
# result.append(r + c)
#3. 推导式写法:
#result = [r + c for r in list01 for c in list02]