我将如何删除特定参数内字典中的项目?
how would I delete item's in a dictionary within specific parameters?
对于我的代码,我希望删除字典中 70 以下的所有数字,我不确定如何指定它,我需要它也删除与该数字相关联的名称,无论是那个还是仅显示 70 或以上的数字。
以下是我的完整代码:
name = []
number =[]
name_grade = {}
counter = 0
counter_bool= True
num_loop = True
while counter_bool:
stu = int(input("please enter the number of students: "))
if stu < 2:
print("value is too low, try again")
continue
else:
break
while counter != stu:
name_inp = str(input("Enter your name: "))
while num_loop:
number_inp = int(input("Enter your number: "))
if number_inp < 0 or number_inp > 100:
print("The value is too high or too low, please enter a number between 0 and 100.")
continue
else:
break
name_grade[name_inp] = number_inp
name.append(name_inp)
number.append(number_inp)
counter += 1
print(name_grade)
sorted_numbers = sorted(name_grade.items(), key= lambda x:x[1])
print(sorted_numbers)
if number > 70:
resorted_numbers = number < 70
print(resorted numbers)
我该怎么做?
此外,如果这也不是太麻烦的话,有人可以详细解释一下字典键以及我使用的 lambda 函数是如何工作的吗?我得到了帮助,但我更想知道有关如何应用和格式化的小细节,但如果解释起来很麻烦,请不要担心。
您可以遍历字典并过滤小于 70 的值:
resorted_numbers = {k:v for k,v in name_grade.items() if v<70}
dict.items
方法 returns 字典的键值元组对列表,因此 lambda 函数告诉 sorted
函数按每个元组中的第二个元素排序.
对于我的代码,我希望删除字典中 70 以下的所有数字,我不确定如何指定它,我需要它也删除与该数字相关联的名称,无论是那个还是仅显示 70 或以上的数字。
以下是我的完整代码:
name = []
number =[]
name_grade = {}
counter = 0
counter_bool= True
num_loop = True
while counter_bool:
stu = int(input("please enter the number of students: "))
if stu < 2:
print("value is too low, try again")
continue
else:
break
while counter != stu:
name_inp = str(input("Enter your name: "))
while num_loop:
number_inp = int(input("Enter your number: "))
if number_inp < 0 or number_inp > 100:
print("The value is too high or too low, please enter a number between 0 and 100.")
continue
else:
break
name_grade[name_inp] = number_inp
name.append(name_inp)
number.append(number_inp)
counter += 1
print(name_grade)
sorted_numbers = sorted(name_grade.items(), key= lambda x:x[1])
print(sorted_numbers)
if number > 70:
resorted_numbers = number < 70
print(resorted numbers)
我该怎么做?
此外,如果这也不是太麻烦的话,有人可以详细解释一下字典键以及我使用的 lambda 函数是如何工作的吗?我得到了帮助,但我更想知道有关如何应用和格式化的小细节,但如果解释起来很麻烦,请不要担心。
您可以遍历字典并过滤小于 70 的值:
resorted_numbers = {k:v for k,v in name_grade.items() if v<70}
dict.items
方法 returns 字典的键值元组对列表,因此 lambda 函数告诉 sorted
函数按每个元组中的第二个元素排序.