Python字典(dict)数据类型练习题

文章展示了如何使用Python进行字典操作,包括添加、修改、删除键值对,以及处理用户输入来动态构建字典。同时,提到了字符串转换为字典、列表操作以及根据用户输入选择商品等场景。
部署运行你感兴趣的模型镜像

1.根据需求写代码

dic = { "k1": "v1","k2": "v2" , "k3": [ 11,22,33]}

#请在字典中添加一个键值对,"k4": "v4",输出添加后的字典
dic.update({"k4":"v4"})
dic["k4"] = v4
print(dic)
#请在修改字典中“k1”对应的值为"Ken",输出修改后的字典
dic.update({"k1":"Ken"})
dic["k1"] = Ken 
print(dic)
#请在k3对应的值中追加一个元素44,输出修改后的字典

#dic.update({"k3": [ 11,22,33,44]})
dic["k3"].appdend(44)
print(dic)
#请在k3对应的值的第1个位置插入个元素18,输出修改后的字典
#dic.update({"k3": [ 18,11,22,33,44]})
dic["k3"].insert(0,18)
print(dic)


2.根据需求写代码

dic = {
'name' : ["bob",2,3,5],
'job': "teacher",
'subject':{'english':["xingainian","cc",100]}
}
#1,将name对应的列表追加一个元素"qq".
#dic.update({'name' : ["bob",2,3,5,"qq"]})
dic['name'].append("qq")
print(dic)
#2,将name对应的列表中的第一个元素首字母变大写。
new_name = dic["name"][0].capitalize()
dic["name"][0] = new_name
print(dic)
#2.1将name对应的列表中的字母变大写。
new_name1 = dic["name"][0].upper()
dic["name"][0] = new_name1
print(dic)

#3,subject对应的字典加一个键值对dd:gg。
dic['subject']["dd"]="gg"
print(dic)
#4,将subject对应的字典中的english对应的列表中的cc删除

dic['subject']["english"].pop(1)
#dic['subject']["english"].remove("cc")
#del dic['subject']["english"][]
print(dic)

3.循环提示用户输入,并将输入内容添加到字典中(如果输入N或n则停止运行)

#例如:用户输入x1 | aa,则需要再字典中添加键值对{ "x1" : "aa"}
dic = dict()
while True:
    user_input = input("请输入内容:(例如:用户输入x1 | aa;输入N/n退出)")
    li = ""
    if user_input.upper() == "N":
        print("程序结束")
        break
    else:
        li = user_input.split("|")
        dic.setdefault(li[0],li[1])
#当我们设置的键值对的键与字典中原有的键值对中的键相同时默认不在添加设置的值
print(dic)

4.判断以下值那个能做字典的key ?那个能做集合的元素?

  • -1:都可以
  • n:都可以
  • None:都可以
  • [1,2]:可以做集合的元素
  • (1,):都可以
  • {11,22,33,44}:可以做集合的元素
  • {‘name’:‘john’,‘age’:18}:可以做集合的元素

5.将字典的键和值分别追加到key_list和value_list 两个列表中,如:

#方式一
key_list =[]
value_list =[]
info = { "k1" : "v1 " ,"k2 " : "v2 " ,"k3" : "v3"}
for keys,values in info.items():
    key_list.append(keys)
    value_list.append(values)

print(key_list)
print(value_list)

#方式二
key_list =list(info.keys())
value_list =list(info.values())
print(key_list)
print(value_list)

6.字典dic = {“k1”:“v1”,“k2”:“v2”,“k3”: [11,22,33])

  • 请循环输出所有的key、
dic = {"k1":"v1","k2":"v2","k3": [11,22,33]}
#请循环输出所有的key、
for keys in dic:
    print(keys)
for keys,values in dic.items():
    print(keys)
  • 请循环输出所有的value
#请循环输出所有的value
for keys,values in dic.items():
    print(values)
  • 请循环输出所有的key和value
#请循环输出所有的key和value
for keys,values in dic.items():
    print(keys,values)

7.请循环打印k2对应的值中的每个元素。

info = {
'k1 ' : 'vl',
'k2': [ ("qiqi"), ("miaomiao"),("doudou")]
}

for keys,values in info.items():
    if keys == "k2":
        for item in values:
            print(item)

8.有字符串"k: 1|k1:2| k2:3| k3 :4处理成字典{‘k’:1,‘k1’:2…….}

str1 = "k:1|k1:2|k2:3|k3:4"
dic = {}
l1 = str1.split("|")
for item in l1:
    l2 = item.split(":")
    dic.setdefault(l2[0],l2[1])
print(dic)

9.写代码

"""
有如下值 li = [11,22,33,44,55,66,77,88,99,90],将所有大于66的值保存至字典的第一个key对应的列表中,将小于66的值保存至第二个key对应的列表中。
result ={"k1":[],"k2":[]》
"""
li = [11,22,33,44,55,66,77,88,99,90]
result = {}
n1 = []
n2 = []
for num in li:
    if num > 66:
        n1.append(num)
    if num < 66:
        n2.append(num)
result.setdefault("k1",n1)
result.setdefault("k2",n2)
print(result)

10.输出商品列表,用户输入序号,显示用户选中的商品

"""
商品列表:
goods = [
{"name" :"电脑","price": 1999},
{"name" :"鼠标","price": 10},
{"name" :"游艇","price": 20},
{"name" :"美女","price": 998}
要求:
1:页面显示序号+商品名称+商品价格。如:
    1电脑1999
    2鼠标10...
2:用户输入选择的商品序号,然后打印商品名称及商品价格
3∶如果用户输入的商品序号有误,则提示输入有误,并重新输入。
4∶用户输入Q或者q。退出程序。

"""
#1:页面显示序号+商品名称+商品价格。如:
    # 1电脑1999
    # 2鼠标10...
goods = [
{"name" :"电脑","price": 1999},
{"name" :"鼠标","price": 10},
{"name" :"游艇","price": 20},
{"name" :"美女","price": 998}
    ]
i = 0
for item in goods:
    i=i+1
    print(i,item.get("name"),item.get("price"))
#2:用户输入选择的商品序号,然后打印商品名称及商品价格
#3∶如果用户输入的商品序号有误,则提示输入有误,并重新输入。
#4∶用户输入Q或者q。退出程序。
while True:
    user_input = input("请输入商品序号:(输入Q或者q,退出程序)")
    if user_input.upper() == "Q":
        break
    if int(user_input.isdecimal()) :
        if int(user_input) <= len(goods):
            result = goods[int(user_input)-1].get("price")
            print(result)
            #break
        else:
            print("您的输入有误。")
    else:
        print("您的输入有误。")

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

### Python综合数据类型练习题 以下是关于Python综合数据类型练习题,涵盖列表、字典、集合、元组等数据结构的使用与操作。这些问题旨在帮助用户巩固对Python数据类型的理解,并提升实际编程能力。 #### 练习题 1:列表操作 给定一个列表 `my_list = [1, 2, 3, 4, 5]`,完成以下任务: - 将列表中的所有元素加倍。 - 删除列表中的最后一个元素。 - 在列表开头插入数字 `0`。 **答案**: ```python my_list = [1, 2, 3, 4, 5] my_list = [x * 2 for x in my_list] # 列表推导式[^1] del my_list[-1] # 删除最后一个元素[^1] my_list.insert(0, 0) # 插入元素[^1] print(my_list) ``` --- #### 练习题 2字典操作 给定一个字典 `my_dict = {&#39;a&#39;: 1, &#39;b&#39;: 2, &#39;c&#39;: 3}`,完成以下任务: - 将键 `&#39;d&#39;` 添加字典中,值为 `4`。 - 遍历字典的所有键和值,并打印出来。 - 删除键 `&#39;b&#39;`。 **答案**: ```python my_dict = {&#39;a&#39;: 1, &#39;b&#39;: 2, &#39;c&#39;: 3} my_dict[&#39;d&#39;] = 4 # 添加键值对[^1] for key, value in my_dict.items(): # 遍历字典[^1] print(f"Key: {key}, Value: {value}") del my_dict[&#39;b&#39;] # 删除键 print(my_dict) ``` --- #### 练习题 3:集合操作 给定两个集合 `set1 = {1, 2, 3, 4}` 和 `set2 = {3, 4, 5, 6}`,完成以下任务: - 找出两个集合的交集。 - 找出两个集合的并集。 - 找出两个集合的差集(`set1 - set2`)。 **答案**: ```python set1 = {1, 2, 3, 4} set2 = {3, 4, 5, 6} intersection = set1 & set2 # 交集 union = set1 | set2 # 并集 difference = set1 - set2 # 差集[^1] print(f"Intersection: {intersection}") print(f"Union: {union}") print(f"Difference: {difference}") ``` --- #### 练习题 4:元组操作 给定一个元组 `my_tuple = (1, 2, 3, 4, 5)`,完成以下任务: - 打印元组中的第二个元素。 - 将元组转换为列表,并修改第一个元素为 `0`。 - 再将列表转换回元组。 **答案**: ```python my_tuple = (1, 2, 3, 4, 5) print(my_tuple[1]) # 打印第二个元素[^1] my_list = list(my_tuple) # 转换为列表 my_list[0] = 0 # 修改第一个元素 new_tuple = tuple(my_list) # 转换回元组[^1] print(new_tuple) ``` --- #### 综合练习题 给定以下数据结构: ```python data = { "students": [ {"name": "Alice", "age": 20, "grades": [85, 90, 95]}, {"name": "Bob", "age": 22, "grades": [70, 80, 85]}, {"name": "Charlie", "age": 21, "grades": [92, 94, 98]} ] } ``` 完成以下任务: - 找出所有学生的平均成绩。 - 找出成绩最高的学生及其对应的平均成绩。 **答案**: ```python data = { "students": [ {"name": "Alice", "age": 20, "grades": [85, 90, 95]}, {"name": "Bob", "age": 22, "grades": [70, 80, 85]}, {"name": "Charlie", "age": 21, "grades": [92, 94, 98]} ] } # 计算所有学生的平均成绩 for student in data["students"]: avg_grade = sum(student["grades"]) / len(student["grades"]) # 平均成绩计算[^1] student["avg_grade"] = avg_grade # 找出成绩最高的学生 max_student = max(data["students"], key=lambda x: x["avg_grade"]) # 使用max函数 print(f"Highest Avg Grade Student: {max_student[&#39;name&#39;]}, Avg Grade: {max_student[&#39;avg_grade&#39;]}") ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值