Python-根据条件分配值

时间:2018-12-14 12:06:45

标签: python if-statement

我有一个存储电子邮件地址的变量。根据分配给该变量的电子邮件地址,我想为另一个变量分配一个新的电子邮件地址。

以下是一些相关信息。

var1 <- Variable can have one of the two values as mentioned below:


 1. apple@mail.com
 2. tomato@mail.com

我正在尝试创建一个名为var2的新变量,如果为var1 = apple@mail.com则为 fruit@mail.com ,或者为 veg@mail.com strong>如果var1 = tomato@mail.com

3 个答案:

答案 0 :(得分:0)

您可以使用简单的if-else语句来实现。例如:

mail_list = []
def assign_email(var1):
  if var1 == 'apple@mail.com':
      var2 = 'fruit@mail.com'
  elif var1 = 'tomato@mail.com':
      var2 = 'veg@mail.com'
  else
      var2 = 'default@mail.com'
  return var2

def add_mail_tolist(var1):
    var2 = assign_email(var1)
    mail_list.append(var2)

Funtion将返回var2作为string,如果您愿意的话,可以使用list函数将其添加到邮件append中。

因此,您只需要使用参数def add_mail_tolist(var1)来调用var1,然后根据var1的观点,var2将被添加到mail_list 。然后,您可以使用index

访问电子邮件

答案 1 :(得分:0)

您基本上在这里有两个选择。选项1如下

var1 = 'apple@gmail.com'
if var1 == 'apple@gmail.com':
    var2 = 'fruit@gmail.com'
elif var1 == 'tomato@gmail.com':
    var2 = 'veg@gmail.com'

print(var2)

或者,您可以使用Python的三元运算符。请注意,这不会检查“番茄”,只是在找不到“ apple@gmail.com”时才分配“ veg@gmail.com”。

var1 = 'apple@gmail.com'
var2 = 'fruit@gmail.com' if var1 == 'apple@gmail.com' else 'veg@gmail.com'

print(var2)

答案 2 :(得分:0)

或者您可以将dict用于更大的映射

mappings = {
     'apple@gmail.com': 'fruit@gmail.com', 
     'tomato@gmail.com': 'veg@gmail.com' 
}

或一一定义(动态地):

mappings['apple@gmail.com'] = 'fruit@gmail.com'
mappings['tomato@gmail.com'] = 'veg@gmail.com'
# ....

以后很容易使用/扩展:

var2 = mappings['apple@gmail.com']  

此时var2将包含“ fruit@gmail.com”