列表
# 列表 : 类似其他语言的数组, 只不过可以存储不同类型的数据, 更灵活
player_ls = ['刘翔', '姚明', '杨倩', 100, 99.7, [0.8, 9], 233]
print(player_ls)
print(type(player_ls))
# 最基本操作
# 访问 支持下标(索引)访问
print(player_ls[1])
print(player_ls[0])
# len() 可以测量序列中元素的个数
print(len(player_ls))
print(len(player_ls[0]))
# 下标必须在合理范围
# print(player_ls[6]) IndexError: list index out of range
# 遍历, 也叫迭代 , 就是一个一个取出处理
# 1遍历
print("--"*10)
for x in player_ls:
print(x)
print("--"*10)
for index in range(len(player_ls)):
print(player_ls[index])
print("--"*10)
# 同时返回 元素值和索引值
for x in enumerate(player_ls):
print(x)
print("--"*10)
for i, v in enumerate(player_ls):
print(i, v)
# 修改
player_ls[3] = '科比'
print(player_ls)
# 增加
# 1.末尾追加
player_ls.append("郭艾伦1")
player_ls.append("郭艾伦2")
player_ls.append(['詹姆斯', '库里'])
print(player_ls)
# 2. 将迭代对象元素依次加入到列表
player_ls.extend(['詹姆斯', '库里'])
print(player_ls)
player_ls.extend("韩德军")
print(player_ls)
# 3. 将元素插入指定位置
player_ls.insert(0, "易建联")
print(player_ls)
# 删除
# del player_ls
# print(player_ls)NameError: name 'player_ls' is not defined
del player_ls[0]
del player_ls[0]
print(player_ls)
# pop 默认弹出最后一个元素, 也可以指定位置弹出, pop会返回删除的元素
print(player_ls.pop())
print(player_ls.pop(0))
print(player_ls)
# 按照值删除
player_ls.remove('詹姆斯')
print(player_ls)
# 清空列表 [] 是空列表
player_ls.clear()
print(player_ls)
列表和函数
# 列表与函数
from random import randint
# 1. 编写一个可以生成指定随机值范围和列表长度的函数
def generate_random_list(start, end, length):
ls = []
for i in range(length):
num = randint(start, end)
ls.append(num)
return ls
print(generate_random_list(-5, 5, 5))
salarys = generate_random_list(3000, 10000, 10)
print("salarys = ", salarys)
# 编写函数将前n位员工的工资增加或减小 money元
def update_salarys(ls, n, money):
for i in range(n):
ls[i] = ls[i] + money
return ls
print(update_salarys(salarys, 3, -1000))
print(update_salarys(salarys, 5, 2000))
scores = generate_random_list(10, 100, 8)
print(scores)
# 编写函数 将成绩及格的筛选出来, 并且返回这个列表
def select_scores(ls):
# for i in range(n):
# if ls[i] >= 60:
# print(ls[i])
ns = []
for x in ls:
if x >= 60:
ns.append(x)
return ns
print(select_scores(scores))
切片
# python 切片: 对序列(列表, 字符串等)截取一部分的操作
ls = [60, 87, 38, 12, 52, 69, 59, 54]
print(ls)
# ls[起始:终止:步长] 左闭右开
# 起始位置在最开始可以省略
# 终止位置在最后可以省略
# 步长是1可以省略
print(ls[0:4])
print(ls[:4])
print(ls[2:6])
print(ls[4:9])
print(ls[4:])
print(ls[:])
print(ls[::1])
print(ls[::2])
print(ls[1::2])
# 步长是负数代表 从右侧往左, 将列表反转
print(ls[::-1])