如何用Python测试字典?

2024-09-27 23:21:19 发布

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

我有项目要做,但由于我是Python的初学者,我需要一些帮助。目标如下: 我有一本字典,超过10000对(雇员和身份证)。在我插入字典之前必须检查数据:

people = {'Ingrid Hale': 219686, 'Clarence Spa^r#acio': 212438, 'Isabelle Fisher': 8767, 'Tammy Martinez': , 'Shana Kendall-Richard': 688078 }

数据必须成对测试。 -员工必须有名字和姓氏,没有任何特殊字符和数字 -ID只能包含数字和6位数字,不能为空,必须是唯一的,不能重复

我开始计算键和值,成对显示,然后停止…有什么建议吗?你知道吗

谢谢!你知道吗


Tags: 项目目标字典数字people身份证spa雇员
3条回答

迭代字典检查员工姓名是否为alpha。您可以使用设置。如果id已经在集合中,所以你不必处理。你知道吗

employee_id_set = set()
desired_dict = {}
for name in people:
    employee_name = name
    employee_id  = people[name]
    if employee_name.alpha():
        if employee_id not in employee_id_set:
            employee_id_set(employee_id)
            desired_dict[employee_id ] =employee_name
  1. 你的字典有错误,一个键不能有空值('Tammy Martinez':)

您可以尝试以下代码:

people = {'Ingrid Hale': 219686, 'Clarence Spa^r#acio': 212438, 'Isabelle Fisher': 8767 , 'Shana Kendall-Richard': 688078 }
symbol="~`!@#$%^&*()_-+={}[]:>;',</?*-+"
numbers="0123456789"
for x in people.keys():
    for t in x:
        if t in symbol or t in numbers:
            print (x)
            break
for x in people.keys():
    value=str(people[x])
    for h in value:
        if h not in numbers:
            print (value)
            break

如果看不到你做了什么,很难给出一个具体的答案,但你可以使用一些有用的片段:

要检查名字和姓氏是否用空格分隔,可以将其拆分为空格并检查长度:len(emp_name.split()) == 2
您可以使用str.isalpha(emp_firstname)检查名称是否仅为字符

要检查您的id是否为数字,您可以使用str.isnumeric(emp_id);要检查它们的长度是否为6,您可以使用len(emp_id) == 6

用这些贴出你的想法。你知道吗

相关问题 更多 >

    热门问题