python进阶-----第七课--列表

python进阶,在第一期的基础上做了极大的优化,整体更加美观易懂

七、列表

7.1、列表的常用操作

7.1.1、查找

a、-----.statswith()

.statswith() : 判断字符串是否以某个子串开头,小括号内放子串,结果为布尔类型True和False

str5 = "hello my friend"
print(str5.startswith("hello"))  # 结果:True
print(str5.startswith("he"))     # 结果:True

b、-----.endswith()

.endswith() :判断字符串是否以某个子串结尾,小括号内放子串,结果为布尔类型True和False

 str5 = "hello my friend"
print(str5.endswith("end"))  #结果:True

c、-----.isalpha()

.isalpha() :判断字符串中是否都是字母

str5 = "hello my friend"
print(str5.isalpha())  # 结果:False(其中穿插有空格,空格不属于字母)

d、-----.isdigit()
.isdigit():判断字符串里面是否都是数字

str6 = "678"
print(str6.isdigit())  # 结果:True

e、-----.isalnum()
.isalnum: ()判断是否都是字母,或者是数字,或者是字母和数字的组合

str9a = "123abc"
str9b = "123456"
str9c = "abcdef"
print(str9a.isalnum())
print(str9b.isalnum())
print(str9c.isalnum())
# 结果:
>>> True
>>> True
>>> True

f、-----.isspace()

.isspace():判断字符串里面是否都是空格

str10 = "     "
print(str10.isspace())  # True
7.1.2、查找

a、列表名[下标] 函数描述

name1 = ["xwa", "xla", "xza", "xwa"]
print(name1[2])
# 结果
>>> xza

b、.index(数据)存在返回下标,不存在就报错

name1 = ["xwa", "xla", "xza", "xwa"]
print(name1.index("xwa", 1, 4))  # 可以限制查找范围,否则默认找到该列第一个数据下标
# 结果:
>>> 3

c、.count(数据) 返回指定数据在列表中的次数

name1 = ["xwa", "xla", "xza", "xwa"]
print(name1.count("xwa"))
# 结果
>>> 2

d、len(列表名) 返回列表的长度,长度指列表中有多少个数据

name1 = ["xwa", "xla", "xza", "xwa"]
print(len(name1))
# 结果:
>>> 4
7.1.3、判断和增加

a、in:数据in列表,判断数据是否在列表中,两种结果布尔型True或False

name1 = ["xwa", "xla", "xza", "xwa"]
print("xza" in name1)  # 结果 True
print("xza1" in name1)  # 结果 False

b、not in:数据not in 列表,判断数据是否不在列表中

name1 = ["xwa", "xla", "xza", "xwa"]
print("xla" not in name1)  # False
print("xla1" not in name1)  # True

c、append():列表名.append(数据)列表结尾追加数据

name1 = ["xwa", "xla", "xza", "xwa"]
name1.append("lie")
print(name1)
# 结果:
>>> ['xwa', 'xla', 'xza', 'xwa', 'lie']  # 多出以为,添加在列表尾部

d、extend():列表名.extend(数据)数据是序列的话列表结尾逐一追加

name1 = ["xwa", "xla", "xza", "xwa"]
name1.extend("lie")  # 字符串拆分成一个个然后在结尾添加
print(name1)
# 结果:
>>> ['xwa', 'xla', 'xza', 'xwa', 'l', 'i', 'e']

e、insert():列表名.insert(下标,数据) 指定位置新增数据

name1 = ["xwa", "xla", "xza", "xwa"]
name1.insert(2, "xxa")  # 将xxa添加到下标为2的位置
print(name1)
# 结果:
>>> ['xwa', 'xla', 'xxa', 'xza', 'xwa']
7.1.4、删除

a、del 目标 :del列表名或del列表名[下标],删除列表或列表中的数据

name2 = ["lw", "ll", "lw", "lh"]
del name2  # 删除列表
 print(name2)
#结果
>>> 列表删除,报错

例二

name2 = ["lw", "ll", "lw", "lh"]
del name2[2]
print(name2)
# 结果:
>>> ['lw', 'll', 'lh']

b、pop():列表名.(下标),删除指定下标的数据,并且返回该数据(删掉的数据)

name2 = ["lw", "ll", "lw", "lh"]
del_name = name2.pop(1)
print(del_name)  # 返回删除的数据
print(name2)
# 结果:
>>> ll  
>>> ['lw', 'lw', 'lh']
name2 = ["lw", "ll", "lw", "lh"]
del_name2 = name2.pop()
print(del_name2)  # 删除的数据
print(name2)  # 删除后剩余的数据
# 结果:
>>> lh
>>> ['lw', 'll', 'lw']

c、remove():列表名.remove(数据),删除列表中某个数据的第一个配置项(两个相同的数据时候的第一个数据)

name2 = ["lw", "ll", "lw", "lh"]
name2.remove("lw")  # 删除第一个lw
print(name2)
# 结果
>>> ['ll', 'lw', 'lh']

d、.clesr():列表名.clear() ,清空列表(删掉列表里面的所有数据

name2 = ["lw", "ll", "lw", "lh"]
name2.clear()
print(name2)
# 结果
>>> []
7.1.5、修改

a、列表名[下标] = 新数据 :列表名[下标] = 新数据,按照下标修改指定数据

name3 = ["yul", "kun", "yud", "yul"]
name3[2] = "lll"
print(name3)
# 结果
>>> ['yul', 'kun', 'lll', 'yul']

b、reverse():列表名.reverse(),实现列表中的数逆序,倒序

name3 = ["yul", "kun", "yud", "yul"]
name3.reverse()  # 看结果,列表中的数据倒过来了
print(name3)
# 结果:
>>> ['yul', 'yud', 'kun', 'yul']

c、sort:列表名.sort() ,实现列表升序排序 ,数字从小到大,字母从a到z,汉字不规则,可能是按照拼音或者是笔画

name3 = ["yul", "kun", "yud", "yul"]
name4 = [3, 5, 2, 9, 1, 8, 0]
name3.sort()
name4.sort()
print(name3)
print(name4)
# 结果:
>>> ['kun', 'yud', 'yul', 'yul']
>>> [0, 1, 2, 3, 5, 8, 9]

d、sort:列表名.sort(reverse = False),reverse = True降序,reverse = False升序(默认) reverse表示排序的规则

name4 = [3, 5, 2, 9, 1, 8, 0]
name4.sort(reverse=True)  # 降序
print(name4)
# 结果;
>>> [9, 8, 5, 3, 2, 1, 0]
name4 = [3, 5, 2, 9, 1, 8, 0]
name4.sort(reverse=False)  # 升序
print(name4)
# 结果:
>>> [0, 1, 2, 3, 5, 8, 9]
7.1.6、复制

copy():列表名.copy() ,复制存储原数据

name4 = [3, 5, 2, 9, 1, 8, 0]
name3 = name4.copy()
print(name3)
print(name4)
# 结果;
>>> [3, 5, 2, 9, 1, 8, 0]
>>> [3, 5, 2, 9, 1, 8, 0]

7.2、列表的嵌套使用

列表嵌套:指的是一个列表里面包含了其他的子列表。

name5 = [[["xl", "yul", ["yy"]], "xw", "xz"], ["乐趣", "2", "3"], ["a", "b", "c"]]  # 列表嵌套,[下标][下标]...都是从零开始
print(name5[1][2])
print(name5[0][0][2][0])
# 结果:
>>> 3
>>> yy

列表的循环遍历:依次打印列表的各个数据

list1 = ["wang", "li", "zang"]
# for循环
for i in list1:
    print(i)
# 结果:
>>> wang
>>> li
>>> zang

7.3、while循环遍历

list1 = ["wang", "li", "zang"]
i = 0  # 下标从零开始
while i < len(list1):  # 当不知道列表中有多少数据用len函数,len函数:返回长度
    print(list1[i])
    i += 1
# 结果:
>>> wang
>>> li
>>> zang

7.4、小练习

"""
10个宝珠,随机分配给张三团伙三人
宝珠:["a", "b", "c", ...]
张三团伙三人[[][][]]
"""
# 导入随机模块和函数
import random  # 导入random随机模块
# num = random.randint(0, 2)  # 返回0到2之间的任意整数
bead = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"]
san = [[], [], []]
# 分配宝珠到张三哪里
for z in bead:
    # 把宝珠z添加到张三三人的子列[[], [], []]那里去,使用append函数添加,append(数据), 列表名[下标] = 新数据,按照下标修改指定数据
    # 随机分配:导入随机函数
    num = random.randint(0, 2)  # 再通过random模块导入随机函数,包前后0,1,将随机数给num,
    san[num].append(z)  # append() 列表尾追加函数
print(san)
# 结果:三次运行
# [['a', 'b', 'c', 'g', 'i', 'j'], ['d', 'h'], ['e', 'f']]
# [['c', 'e', 'g', 'h', 'i'], ['d', 'j'], ['a', 'b', 'f']]
# [['a', 'd', 'e', 'i'], ['b', 'g', 'j'], ['c', 'f', 'h']]
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值