# 列表 : 类似其他语言的数组, 只不过可以存储不同类型的数据, 更灵活 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])