一起来学习Python的列表
目录
列表更多的方法列表的嵌套总结列表更多的方法
index():返回指定数据所在位置的下标 (注意:如果查找的数据不存在则报错。)。count():统计指定数据在当前列表中出现的次数。len():访问列表⻓度,即列表中数据的个数。in:判断指定数据在某个列表序列,如果在返回True,否则返回Falsenot in:判断指定数据不在某个列表序列,如果不在返回True,否则返回Falseappend():列表结尾追加数据。extend():列表结尾追加数据,如果数据是⼀个序列,则将这个序列的数据逐⼀添加到列表。insert():指定位置新增数据。pop():删除指定下标的数据(默认为最后⼀个),并返回该数据。remove():移除列表中某个数据的第⼀个匹配项。clear():清空列表逆置:reverse()排序:sort()copy()def generateRandomList(a, b, n, random_state):
from random import randint, seed
seed(random_state)
ls = []
for i in range(n):
ls.append(randint(a, b))
return ls
ls = generateRandomList(0, 100, 10, 666)
print(ls) # [58, 48, 55, 36, 64, 1, 70, 70, 99, 91]
# index():返回指定数据所在位置的下标 (注意:如果查找的数据不存在则报错。)。
print(ls.index(55)) # 2
print(ls.index(70)) # 6
print(ls.index(70, 7, 9)) # 7
# print(ls.index(101)) ValueError: 101 is not in list
# - count():统计指定数据在当前列表中出现的次数。
print(ls.count(70)) # 2
print(ls.count(58)) # 1
print(ls.count(666)) # 0
# - len():访问列表⻓度,即列表中数据的个数。 len还可以使用在字符串/元组/字典等数据中
print(len(ls))
# 使用len进行列表遍历
for i in range(len(ls)):
print(ls[i])
for x in ls:
print(x)
# 自己实现index方法
def my_index(ls, val):
for i in range(len(ls)):
if ls[i] == val:
return i
return -1
print("myindex = ", my_index(ls, 70))
print("myindex = ", my_index(ls, 101))
# - in:判断指定数据在某个列表序列,如果在返回True,否则返回False
#- not in:判断指定数据不在某个列表序列,如果不在返回True,否则返回False
print(69 in ls)
print(70 in ls)
print(70 not in ls)
print(69 not in ls)
#- append():列表结尾追加数据。
#- extend():列表结尾追加数据,如果数据是⼀个序列,则将这个序列的数据逐⼀添加到列表。
# insert():指定位置新增数据。
hero_ls = []
hero_ls.append("鲁班七号")
hero_ls.append("妲己")
hero_ls.append(123)
print(hero_ls)
hero_ls.insert(1, "校领导")
hero_ls.insert(1, "校领导夫人")
print(hero_ls)
hero_ls.extend("BBQ")
print(hero_ls)
hero_ls.extend(["瑶", "暃"])
hero_ls.extend(["123"])
print(hero_ls)
#- pop():删除指定下标的数据(默认为最后⼀个),并返回该数据。
#- remove():移除列表中某个数据的第⼀个匹配项。
#- clear():清空列表
print(hero_ls.pop())
print(hero_ls.pop())
print(hero_ls.pop(1))
print(hero_ls)
hero_ls.remove("妲己")
print(hero_ls)
hero_ls.clear()
print(hero_ls)
# del hero_ls
# print(hero_ls)
# - 逆置:reverse()
lss = [1, 2, 3, 4, 5]
lss.reverse()
print(lss)
# - 排序:sort()
print(ls)
ls.sort()
print(ls)
ls.sort(reverse=True)
print(ls)
# - copy()
nls = lss.copy()
print(nls)
print(nls)
列表的嵌套
列表中还有列表, 可以表示数学中的矩阵
name_list = [["⼩明", "⼩红", "⼩绿"],
["Tom", "Lily", "Rose"],
["张三", "李四", "王五"]]
print(name_list[1])
print(name_list[1][0])
练习
# 设计一个函数, 生成 n 行的 直角三角形 **, 存储到列表中返回
def generate(n):
total_ls = []
for i in range(n):
ls = []
for j in range(i+1):
ls.append("* ")
total_ls.append(ls)
return total_ls
print(generate(6))
for row in generate(6):
for v in row:
print(v, end="")
print()
## 设计一个发等额红包的函数
def send1(money, count):
money*=100 #分
m = money//count # 每一份的金额
l = money%count
bag = []
for i in range(count-1):
bag.append(m/100)
if l == 0:
bag.append(m/100)
else:
bag.append((m+l)/100)
return bag
print(send1(100, 3))
## 设计一个发手气红包的函数
def send2(money, count):
money *= 100 # 分
from random import randint
bag = []
for i in range(count - 1):
m = money // count
cur = 2*randint(0, m-1)
money -= cur
bag.append(cur/100)
bag.append(money/100)
return bag
print(send2(100, 3))
print(sum(send2(100, 3)))
## 设计一个抢红包的函数
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!
X 关闭
X 关闭
- 15G资费不大降!三大运营商谁提供的5G网速最快?中国信通院给出答案
- 2联想拯救者Y70发布最新预告:售价2970元起 迄今最便宜的骁龙8+旗舰
- 3亚马逊开始大规模推广掌纹支付技术 顾客可使用“挥手付”结账
- 4现代和起亚上半年出口20万辆新能源汽车同比增长30.6%
- 5如何让居民5分钟使用到各种设施?沙特“线性城市”来了
- 6AMD实现连续8个季度的增长 季度营收首次突破60亿美元利润更是翻倍
- 7转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 8充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 9好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 10名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?

