繁体   English   中英

如何访问列表中字典中的条件项

[英]How to access conditional items in dictionary that is in a list

empty_list=[] employee = [{ "name" : "Nauman", "age" : 27, "Salary": 29000 }, { "name": "Bilal", "age": 26, "Salary": 27000 }, { "name": "Ali", "age": 19, "Salary": 22000 }, { "name": "Usman", "age": 28, "Salary": 34000 }, { "name": "Usama", "age": 14, "Salary": 24000 } ] def function(employee): for value in employee: if employee.my_dict(["age"])>25 and employee.my_dict(["salary"])>25000: empty_list.append(employee) print(empty_list)

这有助于:

def function(employee):
    for value in employee:
        if value["age"] > 25 and value["Salary"] > 25000:
            empty_list.append(value)

function(employee)

但最好用 return 来做:

def function(listof:list)->list:
    empty_list = []
    for value in listof:
        if value["age"] > 25 and value["Salary"] > 25000:
            empty_list.append(value)
    return empty_list

print(function(employee))

您可以按如下方式更正和改进您的代码:

  1. 将您的数据作为参数传递给您的 function,而不是尝试直接访问全局变量。
  2. 从您的员工列表中访问每个员工,然后使用相关键访问所需的数据,例如employee['age']
  3. 您的 function 可以返回包含满足指定条件的员工的结果。 然后,您可以在需要时调用 function。

这是遵循上述更正/建议的示例解决方案:

data = [
    {
        "name" : "Nauman",
        "age" : 27,
        "salary": 29000
    },
    {
        "name": "Bilal",
        "age": 26,
        "salary": 27000
    },
    {
        "name": "Ali",
        "age": 19,
        "salary": 22000
    },
    {
        "name": "Usman",
        "age": 28,
        "salary": 34000
    },
    {
        "name": "Usama",
        "age": 14,
        "salary": 24000
    }]


def retrieve_desired_employees(employees):
    result = []
    for employee in employees:
        if employee['age'] > 25 and employee['salary'] > 25000:
            result.append(employee)
    return result


result = retrieve_desired_employees(data)
print(result)
def get_empty_list(employees):
    return [employee for employee in employees if employee["age"]>25 and employee["Salary"]>25000]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM