【问题标题】:Python combine functionPython 组合函数
【发布时间】:2020-09-24 06:31:28
【问题描述】:

今天我要发布一个谜语。

最好的答案是最短的代码。

编写一个接受货币和数字列表的单行函数。该函数需要返回一个字符串,其中列表中的每个数字都附有其货币。

这是一个简单的解决方法的示例。

def combine_coin(coin, numbers):
    coins_str = ''
    for num in numbers:
        coins_str += coin + str(num) + ', '
    return coins_str[:-2]

print(combine_coin('$', range(5)))

【问题讨论】:

标签: python one-liner


【解决方案1】:
def combine_coin(coin, numbers):
    return ', '.join([f'{coin}{k}' for k in numbers])

【讨论】:

    【解决方案2】:
    print(','.join(list(map(lambda num:"$"+num,input("enter the values <sep by space>").split()))))
    

    好的,拆分这条长线,我们得到 1) ','.join(list( - 这将加入我们用逗号获得的列表

    2)map- 将一个函数映射到一个列表中的所有值,并返回一个包含函数返回值的映射对象

    3)lambda num:'$'+str(num) - 接受一个数字并返回其字符串,并带有一个 '$' 示例:'$1'

    4)input().split()- 按空格分割输入

    【讨论】:

    • 虽然这段代码可能会解决问题,但一个好的答案还应该解释代码的什么以及它如何提供帮助。
    【解决方案3】:

    Codegolf 很有趣:

    def combine_coin(c, n):
        return ', '.join(c+str(k) for k in n)
    

    【讨论】:

    • 你为什么接受一个更长的解决方案呢? :-)
    猜你喜欢
    • 2013-05-20
    • 2020-07-24
    • 2021-03-04
    • 1970-01-01
    • 1970-01-01
    • 2019-08-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多