为了账号安全,请及时绑定邮箱和手机立即绑定

当我从函数返回一个字符串时,它有逗号吗?

当我从函数返回一个字符串时,它有逗号吗?

狐的传说 2022-05-24 16:33:26
我写了一个函数来返回一个条件为假的字符串,但是每次它返回它时,字符串中都有逗号。我不知道为什么。key = 0test_dictionary = {1: 'a', 2: 'b', 3: 'c', 4: 'd'} def show_value(a, b):    for item in b:        if item == a:            return(b[a])    if key == 0:        return(a, str('is not a valid key'))
查看完整描述

3 回答

?
暮色呼如

TA贡献1853条经验 获得超9个赞

跑步show_value(5, test_dictionary)让我着迷(5, 'is not a valid key')。哪个没有在您的字符串中添加逗号。如果您想要一个看起来像句子的字符串,请尝试:


def show_value(a, b):


    for item in b:


        if item == a:



            return(b[a])


    if key == 0:


        return "{} is not a valid key".format(a)

如果您想真正花哨,可以使用:


key = 0

test_dictionary = {1: 'a', 2: 'b', 3: 'c', 4: 'd'} 

def show_value(a, b):

    return b.get(5, "{} is not a valid key".format(a))


查看完整回答
反对 回复 2022-05-24
?
守着一只汪

TA贡献1872条经验 获得超4个赞

问题是您返回的是元组,(a, "is not a valid key")而不是字符串。假设您使用的是 Python 3.6+,您可以使用 f-string:

return f'{a} is not a valid key'

正如@MasonCaiby 所建议的,您可以使用get字典的方法在没有与键关联的值时返回一个值,并且还可以组合 f 字符串:

return b.get(5, f"{a} is not a valid key")


查看完整回答
反对 回复 2022-05-24
?
收到一只叮咚

TA贡献1821条经验 获得超5个赞

return(a, "is not a valid key")返回一个元组。

相反,做return(str(a) + " is not a valid key")

编辑:其他答案很有趣,我会在这里总结一下。

首先,在字符串中插入变量的 Pythonic 方法是 '{} is not a valid key'.format(a).

从 3.6 开始,您可以使用 "f" 字符串,它允许更清晰的插入 : f"{a} is not a valid key"

最后,您可以用属性替换您的答案dict.get(key,message_to_display_if_key_not_found),这正是您想要的。您甚至可以抛出异常消息:最终代码将是:

return b.get(a, f"{a} is not a valid key")


查看完整回答
反对 回复 2022-05-24
  • 3 回答
  • 0 关注
  • 142 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号