Python:在dict中使用if else将值设置为key

cha*_*rls 4 python if-statement python-3.x

我正在寻找一种方法来使用字典中的if else条件来设置键的值.有办法吗?

下面的示例可能有助于您了解我想要做的事情.这不是一个功能性的python代码.只是一个给你一个想法的例子.

age = 22
di = {
    'name': 'xyz',
    if age>=18:
        'access_grant': 'yes',
    else:
        'access_grant': 'no',
     }   
Run Code Online (Sandbox Code Playgroud)

评论如果你没有得到问题.请不要downvote.

小智 11

我认为这是使用三元表达式的完美机会(python也称之为"三元运算符"):

...
di = {
    'name': 'xyz',
    'access_grant': 'yes' if age >= 18 else 'no',
 } 
...
Run Code Online (Sandbox Code Playgroud)


101*_*101 5

您可以使用函数将逻辑与字典分开:

def access_grant(age):
    return 'yes' if age >= 18 else 'no'

age = 22
di = {
    'name': 'xyz',
    'access_grant': access_grant(age),
}
Run Code Online (Sandbox Code Playgroud)

将逻辑置于字典之外可以更轻松地测试和重用。