栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python 第三课 数据结构 (第三小节 字典)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python 第三课 数据结构 (第三小节 字典)

五、字典

5.1字典简介

1)定义字典:{key:value} 键值对

2)不可变类型

3)可以嵌套

4)键一般都是字符串,值可以是字符串、列表、字典

创建字典

1) 定义空列表:li=[]

2) 定义空字符串:str=“”

3)空元组:t=()

4)空字典:d={}

类型转换

1)list()                          将字符串类型转换为列表,将元组类型直接原样转换为列表

2)str()                                将整数、浮点数转换为字符串类型

3)int()                                 将字符串类型转换为整数【字符串中仅仅有数字,不能有字母】

4)float()                        将字符串类型转换为浮点数【字符串中仅仅有数字,不能有字母】

5)tuple()                            将列表列表转换为元组

6)dict()                               将对象转换为字典类型

创建字典的两种方法

#方法1:
d1 = {"name": "tom", "age": 18, "addr":"hebei"}
print(type(d1))
print(d1)

#方法2:
d2 = dict(name="tom", age=18, addr="hebei")
print(type(d2))
print(d2)

5.2字典的操作

1)len()                             返回对象中键值对的数量

2)字典名【key】             返回字典中指定的key所对应的值

3)字典名【key】=value   修改字典中的某个键的值或者在字典中添加值

4)del  字典名【key】       删除字典中的值

5)clear   方法                   删除字典中的数据

6)key   in  字典名             检查字典中是否有这个指定的key【has_keys】

7)keys                              将字典的全部的键构成一个列表/元素

8)values                            将字典的全部的值构成一个列表/元素

9)pop方法                          从字典中弹出一个键值对

10)copy方法                      从字典中复制全部的键值对给一个新的变量

11)item方法                       将字典中的键值对转换成元组/列表的一个一个的元素

案例:让用户输入个人基本信息,包含姓名、电话、住址、年龄,通过字典保存用户的数据信息,当用户输入q的时候,结束输入

结束输入之后,打印显示全部的用户名,并要求选择一个名称

然后打印输出这个用户的全部信息,输出信息的格式:用户xxx, 电话xxx,地址xxx,年龄xxx

答案

import sys
d1 = {}
li = []
while True:
    name = input("请输入姓名或者按Q退出:")
    name = name.lower()
    if name == "q":
        break

    phoneNum = input("请输入电话: ")
    userAge = input("请输入年龄: ")
    homeAddr = input("请输入地址: ")

    d1[name] = {"tel":phoneNum, "addr":homeAddr ,"age":userAge}
    li.append(name)

n = 1
print("================请根据菜单选择姓名=====================")
for uname in li:
    print("%d %s"%(n,uname))
    n += 1

print("输入q退出:")
userInput = input("请选择:")

if userInput == "q":
    sys.exit(0)

userInput = int(userInput)

uname = li[userInput - 1]

age = d1[uname]["age"]
addr = d1[uname]["addr"]
tel = d1[uname]["tel"]

print("用户%s,电话是%s,地址是%s,年龄是%s"%(uname,tel,addr,age))

六、遍历序列对象

备注:遍历其实就是循环的意思

6.1遍历字符串方法

# type1
str = "abcd hallo world"
for var in str:
    print(var)

# type2
str = "abcd hallo world"
num_len = len(str)
for num in range(num_len):
    print(str[num])

6.2遍历列表方法

# type1
str = [1,2,8,11,7,3]
for var in str:
    print(var)

# type2
str = [1,2,8,11,7,3]
num_len = len(str)
for num in range(num_len):
    print(str[num])

# type3
str = [1,2,8,11,7,3]
num_len = len(str)
for num in range(num_len):
    print(str.pop())

6.3遍历元组的方法

# type1
str = (1,2,8,11,7,3)
for var in str:
    print(var)

# type2
str = (1,2,8,11,7,3)
num_len = len(str)
for num in range(num_len):
    print(str[num])

# type3
str = (1,2,8,11,7,3)
num_len = len(str)
for num in range(num_len):
    print(str.pop())

6.4遍历字典的方法

1)遍历字典的key

# 方法1
d1 = {"name":"tom", "age":18, "addr":"hb", "tel":"136666666"}
for var in d1:             # 每次循环是将将键赋值给var
    print(var,end=" ")
    print(d1[var])
    
# 方法2
d1 = {"name":"tom", "age":18, "addr":"hb", "tel":"136666666"}
v = d1.keys()
for var in v:
    print(var)

2)遍历字典的value

d1 = {"name":"tom", "age":18, "addr":"hb", "tel":"136666666"}
v = d1.values()
for var in v:
    print(var)

3)遍历字典的键值对

dd1 = {"name":"tom", "age":18, "addr":"hb", "tel":"136666666"}
v = d1.items()
for var in v:
    print(var)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/768825.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号