目录
5.1 切分字符串
split():按照指定字符分割字符串
语法:字符串序列.split(分割字符, num)
示例:
#切分字符串
language = "Python and Java and c++ and Golang and Scala"
# split 切分字符串 生成一个列表: 暂时理解为一共容器
result = language.split("and")
print(result)
5.2 字符串连接操作
join():⽤⼀个字符或子串合并字符串,即是将多个字符串合并为⼀个新的字符串。
语法:字符或⼦串.join(多字符串组成的序列)
示例:
# 连接序列 生成字符串 跟split
lang = ["English","Chinese","Jananese"]
# 通过 - 连接上面的语言 形成字符串
result2 = "-".join(lang)
print(result2,type(result2))
5.3 删除两边空格
strip():删除字符串两侧空⽩字符
示例:
# 删除字符串两边空格 strip()
class_name = " Big Data "
print(len(class_name))
# 删除两边空格
# print(len(class_name.strip()))
class_name_new = class_name.strip()
print(class_name_new, len(class_name_new))
5.4 判断
所谓判断即是判断真假,返回的结果是布尔型数据类型:True 或 False。
startswith():检查字符串是否是以指定⼦串开头,是则返回 True,否则返回 False。如果设置开 始和结束位置下标,则在指定范围内检查
语法:字符串序列.startswith(子串, 开始位置下标, 结束位置下标)
示例:
# 判断一个字符串是否以指定字符串开始
mystr = "hello world"
# mystr 以hello开始 则返回True
print(mystr.startswith("hello"))
# 不是以world开始 则返回False
print(mystr.startswith("world"))
# 以world结束 返回True
print(mystr.endswith("world"))
# 判断在指定范围内是否以hello开始
print(mystr.startswith("hello",3, 8))
print(mystr.startswith("lo",3, 8))
5.5 列表查找
通过下标查找列表数据,直接输入下标即可
name_list = ["Jams","西兰花","小孩","姑娘", 2022] # len 表示列表长度 print(name_list, type(name_list), len(name_list)) # 列表索引查找 print(name_list[0]) print(name_list[1]) print(name_list[3]) print(name_list[2]) print(name_list[4])
除了通过下标查找,我们还可以通过index函数返回数据的下标值
5.5.1 index():
返回指定数据所在位置的下标
语法:列表序列.index(数据, 开始位置下标, 结束位置下标)
name_list = ["Jams","西兰花","小孩","姑娘", 2022] print(name_list.index("小孩")) # 在指定列表范围内 查找小孩 没有 就报错 # print(name_list.index("小孩" , 0 ,2))
5.6 统计出现的次数
count():统计指定数据在当前列表中出现的次数
示例:
name_list2 = ["蒋卢","小朋友","小卢"] print(name_list2.count("小卢")) print(name_list2.count("小朋友")) print(name_list2.count("小苹果"))
5.7列表长度
len():访问列表⻓度,即列表中数据的个数
name_list = ["蒋卢","小朋友","小卢"]
print(len(name_list))
5.8 判断指定元素是否存在
in:判断指定数据在某个列表序列,如果在返回True,否则返回False
name_list3 =["java","C++","python"]
print("java" in name_list3)
print("hadoop"in name_list3)
not in:判断指定数据不在某个列表序列,如果不在返回True,否则返回False
name_list3 =["java","C++","python"]
print("abc" not in name_list3)
print("java" not in name_list3)
5.9 增加
作⽤:增加指定数据到列表中。
5.9.1append():
列表结尾追加数据。
语法:列表序列.append(数据)
示例:
name_list3 =["java","C++","python"]
# 增加一个元素到列表中 加到列表的后面name_list3.append("小朋友")
print(name_list3)
5.9.2 append()
追加的数据是⼀个序列,则追加整个序列到列表
name_list3 =["java","C++","python"]
# 追加的数据是⼀个序列 则追加整个序列到列表
name_list3.append(["qwe","wer"])
print(name_list3)
5.9.3 extend():
列表结尾追加数据,如果数据是⼀个序列,则将这个序列的数据逐⼀添加到列表。
语法:列表序列.extend(数据)
name_list3 =["java","C++","python"]
# extend():结尾追加⼀个序列 一个一个加进去
name_list3.extend(["sc","dv"])
print(name_list3)
输出:['java', 'C++', 'python', 'sc', 'dv']
#序列数据也可以追加
name_list = ['Tom', 'Lily', 'Rose']
name_list.extend(['xiaoming', 'xiaohong'])
print(name_list)输出:['Tom', 'Lily', 'Rose', 'xiaoming', 'xiaohong']
5.9.4 insert():
指定位置新增数据。
语法:列表序列.insert(位置下标, 数据)
示例:
name_list3 =["java","C++","python"]
# insert():指定位置新增数据
name_list3.insert(1,"良好")
print(name_list3)
输出:['java', '良好', 'C++', 'python']
5.10 删除列表
del
5.10.1语法:del ⽬标
删除列表:
#删除列表 name_list = ["张飞","剪刀","小天"] print("删除前",name_list) del name_list # 删除之后 name_list 不存在 报错 # print("删除后",name_list)
删除数据:
name_list2 = ["小朋友","张飞","剪刀","小天"]
# del 直接删除 没有返回值
del name_list2 [0]
print(name_list2)
输出:['张飞', '剪刀', '小天']
5.10.2pop():
删除指定下标的数据(默认为最后⼀个),并返回该数据。
语法:列表序列.pop(下标)
name_list2 = ["小朋友","张飞","剪刀","小天"]
result1 =name_list2.pop(2)
print(name_list2)
输出:['小朋友', '张飞', '小天']
# pop没有参数 默认删除最后⼀个 返回该数据
name_list3 = ["哥哥","天天","小熊"]
result2 = name_list3.pop()
print(result2) print(name_list3)
5.10.3 remove():
移除列表中某个数据的第⼀个匹配项
语法:列表序列.remove(数据)
# remove():删除列表元素
name_list4 = ["呼呼","浩浩","豪豪"]
result3 = name_list4.remove("豪豪")
print(name_list4)
输出:['呼呼', '浩浩']
5.10.4 clear():
清空列表
name_list4 = ["呼呼","浩浩","豪豪"]
name_list4.clear()
print(name_list4)
[]
5.11 修改列表
修改指定下标数据,只需给该数据重新赋值即可
# 修改列表
name_list5 =["代代","露露","偷偷"]
name_list5 [0]="荣荣"
print(name_list5)
['荣荣', '露露', '偷偷']
5.11.1 列表逆置 reverse( )
# 列表逆置 reverse name_list5 =["代代","露露","偷偷"] name_list5.reverse() print(name_list5)['偷偷', '露露', '荣荣']
排序:sort()
语法:列表序列.sort( key=None, reverse=False)
参数解释:reverse表示排序规则,reverse = True 降序, reverse = False 升序(默认)。
示例:
# 列表排序 reverse = True 降序, reverse = False 升序(默认)
score_list =[35, 89, 77, 0]
score_list.sort()
print(score_list)
# 从大到小
score_list.sort(reverse=True)
print(score_list)
5.12 复制列表
数组的复制使用copy函数
示例:
# 复制列表
height_list=[183,155,185,165]
height_list_new = height_list.copy()
print("新",height_list_new)
height_list.sort()
print(height_list)
5.13列表的循环
5.13.1 While
示例 :
# while 列表的循环
country_list = ["c++","java","C","python"]
i = 0
while i < len(country_list):
print(i,country_list[i])
i += 1
5.13.2 for
示例:
scenery_list = ["船舶大楼","毛家屋","白鹿寺","公园"]
# 通过j这个临时变量 从头取到尾
for j in scenery_list:
print(j)
5.14 列表嵌套
列表嵌套指的就是⼀个列表⾥⾯包含了其他的⼦列表
示例:
#列表嵌套
name_list = [["麻花","问问"],["天天","试试"],"凤凤"]
print(name_list[0])
# 单独把问问取出来
print(name_list[0][1])
练习:办公室分配
'''
一个学校有三个办公室,现在有8位老师等待工位的分配,
请编写程序,随机进行分配
'''
#定义办公室列表 import random office = [[],[],[]] #定义老师列表 teacher = ["A","B","C","D","E","F","G","H"] #遍历老师列表 for teache in teacher: num =random.randint(0,2) office[num].append(teache) print(office)