Python(自学之旅四)

今天我们还是像往常一样,以图片和实例的形式带大家了解一些基础知识

多维列表

内存结构图:

 

实例:

# 多维列表
# 之前我们使用的列表就是一维 比如 a = [1,2,3,4,5,6] 接下来我们来了解一下二维
a = [
    ["小明", 18, 30000],
    ["小刚", 19, 30000],
    ["小红", 16, 30000]
]

# 怎么引用?
print(a[0][2])  # a列表中的第一个元素中的第二个元素  打印结果:30000
# 第一个中括号 代表第一层的第几个元素 第二个中括号 代表第二层的第几个元素(以此类推,没有继续引入则抛出异常)

# 怎么打印
for m in range(3):
    for n in range(3):
        print(a[m][n], end="\t")
    print()  # 打印完这一行,换行
# 打印结果
# 小明	18	30000	
# 小刚	19	30000	
# 小红	16	30000	

 元祖

 

 实例:

# 元祖 tuple
a = (10, 20, 30)  # 此处括号能省略(注:只有一个元素的时候需加一个逗号 例如:a = (10,)括号也可以省略)
print(type(a))
# 通过tuple()创建元祖
a = tuple()
print(a)  # 输出结果 () 一个空的元祖
#
b = tuple("abc")
print(b)  # 输出结果 ('a', 'b', 'c')
#
b = tuple(range(0, 3))
print(b)  # 输出结果 (0, 1, 2)

# 元祖对象的删除
del b
del a

元祖的元素访问和计数

 

实例:

# 元祖的元素访问和计数
c = (10, 20, 34, 43, 24)
c[3] = 33  # 元祖元素不能修改
print(c)  # 直接报错


# 元祖排序 sorted()
a = (20, 239, 1203, 1)
print(sorted(a))  # 输出结果:[1, 20, 239, 1203]

# zip 把列表转换为元祖
a = [10, 20, 30]
b = [40, 50, 60]
c = [70, 80, 90]
d = zip(a, b, c)
print(list(d))  # 输出结果:[(10, 40, 70), (20, 50, 80), (30, 60, 90)]

# 推导式
a = (x*2 for x in range(10))
print(tuple(a))  # 转为元祖打印  输出结果:(0, 2, 4, 6, 8, 10, 12, 14, 16, 18)

元祖总结:

 字典

 

 

 实例:

# 方式一
a = {"name": "小明", "age": 18, "address": "青青草原"}
print(a)  # 返回结果 :{'name': '小明', 'age': 18, 'address': '青青草原'}

# # 方式二
b = dict(name="大聪明", age=18, address="狼堡")
print(b)  # 返回结果 : {'name': '大聪明', 'age': 18, 'address': '狼堡'}

# # 方式三
c = dict([("name", "小明"), ("age", 18)])
print(c)  # 输出结果:{'name': '小明', 'age': 18}

# 通过zip创建字典对象
a = ["name", "age", "job"]
b = ["小明", 18, "哈哈哈"]
c = dict(zip(a, b))
print(c)  # 输出结果:{'name': '小明', 'age': 18, 'job': '哈哈哈'}

# 通过fromkeys创建值为空的字典
d = dict.fromkeys(["name", "age", "address"])
print(d)  # 创建值为空的字典(键定义好的,但值为None)

字典元素的访问

 

实例:

# 字典元素的访问
a = dict(name="小明", age=18, address="青青草原")  # 定义一个字典
# 拿值方式一
print(a["name"])  # 根据键拿值(这里键如果在字典中不存在就会抛出异常)
# 方式二
print(a.get("age"))  # 使用get拿值的好处(如果键不存在不会报错,返回None)
print(a.get("aga", "大傻逼"))  # 设置默认值(当键不存在字典中的时候则返回默认值)

# # 列出全部键值对
print(a.items())  # 输出结果:dict_items([('name', '许明洋'), ('age', 18), ('address', '青青草原')])
#
# # 列出所有的键
print(a.keys())  # 输出结果:dict_keys(['name', 'age', 'address'])
#
# # 列出所有的值
print(a.values())  # 输出结果:dict_values(['许明洋', 18, '青青草原'])
#
# # 键值对的个数 len()
print(len(a))  # 输出结果:3
#
# # 判断键是否存在于字典中
print("name" in a)  # 返回False/True 输出结果:True

 字典元素添加、修改、删除

 

 

 

实例:

# 给字典新增"键值对" 注:如果键已经存在,则覆盖旧的键 如果键不存在,则新增”键值对“
a = {'name': '小明', 'age': 18, 'address': '青青草原'}
a["jop"] = "教师"
a["age"] = 16
print(a)  # 输出结果:{'name': '小明', 'age': 16, 'address': '青青草原', 'jop': '教师'}


# update() 使用update()将新字典中所有的键值对全部添加到旧字典对象上,如果key有重复,则直接覆盖
a = {'name': '小明', 'age': 18, 'address': '青青草原'}
b = {'name': '小刚', 'age': 17, 'jop': '学生'}
a.update(b)
print(a)  # 输出结果:{'name': '小刚', 'age': 17, 'address': '青青草原', 'jop': '学生'}

# del() clear() pop() popitem() 字典元素的删除
a = {'name': '小明', 'age': 18, 'address': '青青草原'}
del(a["name"])
print(a)  # 输出结果:{'age': 18, 'address': '青青草原'}

a.pop("address")  # 可用于赋值
print(a)  # 输出结果:{'age': 18}

# 清空字典
a.clear()
print(a)  # 输出结果:{}

# 随机删除
a.popitem()
print(a)  # 输出结果:{'age': 18}

序列解包

 实例:

# 序列解包
x, y, z = (20, 10, 30)
print(x)  # 输出结果:20
print(y)  # 输出结果:10
print(z)  # 输出结果:30

a = {'name': '小明', 'age': 18, 'address': '青青草原'}
d, b, c = a.values()  # 依次把字典的value值赋值到dbc
print(b)  # 通过dbc打印出来  # 输出结果:18
d, b, c = a.items()  # 依次把字典的键值对赋值到dbc
print(c)  # 通过dbc打印出来 可以通过c[0] 或者 c[1]拿值  # 输出结果:('address', '青青草原')

表格数据使用字典和列表存储,并实现访问

 实例:

# 表格数据使用字典和列表存储,并实现访问
r1 = {"name": "许明洋", "age": 18, "address": "天天加油"}
r2 = {"name": "欧阳钦", "age": 48, "address": "天天加油1"}
r3 = {"name": "张文涛", "age": 28, "address": "天天加油2"}

a = [r1, r2, r3]
#
# # 获得第二行的年龄
print(a[1].get("age"))  # 输出结果:48

好啦,我们下期见

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值