Python和排序字典

2024-09-27 21:22:53 发布

您现在位置:Python中文网/ 问答频道 /正文

其目的是在删除一个元素后显示已排序的字典。我用两种不同的方式编写代码。第一部分的代码行得通,但第二部分的代码行不通。你知道吗

为什么第二部分的代码不能产生正确的结果?你知道吗

第一部分:

food_dictionary = {}

food1 = input("Enter a food you like: ")
food_dictionary[1]=food1

food2 = input("Enter a food you like: ")
food_dictionary[2]=food2

food3 = input("Enter a food you like: ")
food_dictionary[3]=food3

food4 = input("Enter a food you like: ")
food_dictionary[4]=food4

print(food_dictionary)

dislike=int(input("Which one should be removed: "))

del food_dictionary[dislike]

print(sorted(food_dictionary.values()))

第二部分:

x = [1,2,3,4]

food_list={}

for i in x:
    food = input("Enter the name of a food: ")
    food_list[i]={food}

print(food_list)

print(type(food_list))

ask = int(input("Which one should be removed: "))

del food_list[ask]

print(sorted(food_list.values()))

Tags: 代码youinputdictionaryfoodlistlikeint
1条回答
网友
1楼 · 发布于 2024-09-27 21:22:53

删除for循环中的{}

food_list[i] = food

food周围添加{}使其成为一个集合,最终food_list变成这样:

{1: {'food1'}, 2: {'food1'}, 3: {'food1'}, 4: {'food1'}}

其中,当您需要food_list字典的值仅为字符串时。你知道吗

相关问题 更多 >

    热门问题