Day 5
高级变量类型:列表,元组,字典
1.1 列表
- 高级变量里面 List(列表) 是 Python 中使用 最频繁 的数据类型,在其他语言中通常叫做数组。
- 列表的作用是用于存储一串信息
- 列表的表现方式通常用[ ]一对中括号来表示,数据之间用,来进行分割
- 列表索引是从0开始(索引就是表示列表中数据的位置,索引还可以被称为是下标。如果列表是从左边开始索引值的初始值就是0 从右边开始就是-1开始算起)
注:在从列表进行取值的时候,不能超出索引范围,如果超出就会报错。
列表的书写格式:
list = []
1.2 列表的常用操作
#1.增加
列表.append(数据) #在列表的末尾追加数据
列表.insert(索引,数据) #在列表指定的位置添加数据
列表1.extend(列表2) #把列表2追加到列表1的末尾
#在这里补充两个操作
#1、放小球
#要求:有10个球分别为3红、3蓝、4白,球与球之间只有颜色的差别,
# 现需要将这10个球放入3个盒子,要求每个盒子至少有一个白球,
# 其余的球全部随机放,要求输出三个盒子里所有球的颜色,请用程序实现
import random
box = [['白球'], ['白球'], ['白球']]
colors = ['红球', '红球', '红球', '白球', '蓝球', '蓝球', '蓝球']
for color in colors:
#print(color)
i = random.randint(0,2)
box[i].append(color)
print(box)
# 由于这里导入了random模块里的randint库,生成随机数,所以这里box[i].append(color)相当于是随机选择了box里的索引,然后随机往盒子里增加一个球。
2、要求:从键盘中输入5个学生的名字,存储到列表中,然后打印出每个学生名字中的第2个字母。
a = []
for i in range(5):
name = input('输入姓名:')
a.append(name)
print(a)
for j in range(5):
print(a[j][1])
#这一题的话只需要看一下最后这个遍历和print就可以了,由于range的次数是5次,所以a[j]相当于是让a这个列表输出了5次,最后这个[1]相当于是取了a的索引值1。因为索引是0开始,题目要求打印出每个学生名字中的第二个字母,也就是取索引值1了
#2.修改
列表(索引)=数据 #修改指定索引的数据
#3.删除
del 列表[索引] #删除指定索引的数据
列表.remove(数据) #删除第一个出现的指定数据
列表.pop #删除末尾数据
列表.pop(索引) #删除指定索引数据
列表.clear #清空列表
#4.统计
len(列表) #统计列表长度
列表.count(数据) #统计数据在列表出现的次数 注:不能统计数据类型的数量
#5.排序
列表.soft() #升序排序
列表.soft(reverse = True) #降序排序
列表.reverse() #逆序,反转(建议直接用这个 简单快捷=。=)
1.3 元组
元组的书写格式
tuple = ()
元组的索引也是从0开始的
info_tuple = ("zhangsan", 18, 1.75)
print(info_tuple[0]) #这样可以查看该元组里的索引为0的数据是什么
当元组内只有一个元素的时候,需要在该元素的后面添加一个逗号
info_tuple = (12, )
1.4 元组的常用操作
#1.统计
元组.count(数据) #统计数据在元组中出现的次数
#2.查找
元组.index(数据) #查看该数据在元组中的索引值
元组的重复操作与列表类似,具体操作如下:
info_tuple = ("zhangsan", 18, 1.75, 1.75)
info_tuple *= 3
print(info_tuple)
1.5 字典
- 字典可以用来储存多个数据,通常用于储存描述一个物体的相关信息的
- 和列表的区别:列表是有序的对象集合,字典是无序的对象集合
- 字典的定义用{}表示
- 字典使用键值对保存数据,键值对之间使用,进行分隔
- 键(key)是索引
- 值(value)是数据
- 键和值之间使用:进行分隔
- 键必须是唯一的
- 值可以是任何类型的数据,但是键只能是字符串,数字或者元组
注:在查看字典的索引的时候不再跟列表元组一样是输入数字类型的索引进行搜索。由于字典是无序的对象集合,我们在搜索他的索引时输入key值即可。
xiaoming = {"name": "小明",
"age": 18,
"gender": True,
"height": 1.75}
print(xiaoming["name"])
1.6 字典的常用操作
#1.查找
字典.keys() #查看所有key列表。 dict_keys(['name', 'age', 'gender', 'height'])
字典.values() #查看所有values列表。 dict_values(['小明', 18, True, 1.75])
字典.items() #查看所有key,values元组列表。 dict_items([('name', '小明'), ('age', 18), ('gender', True), ('height', 1.75)])
#2.删除
del 字典[key] #删除指定的键值对,键不存在会报错
字典.pop(key) #删除指定的键值对,键不存在会报错
字典.popitem() #随即删除一个键值对
字典.clear() #清除字典
#3.新建、修改
字典[key] = value #如果key存在,修改数据。如果key不存在,新建键值对。
字典.setdefault(key,value) #如果key存在,不修改数据。如果key不存在,新建键值对
字典.update(字典2) #将字典2的数据合并到字典
#4.取值
字典[key] #可以从字典中取值,如果key不存在会报错
字典.get(key) #可以从字典中取值,如果key不存在会报错