。My current code looks like:

def extend(x, a):
    if type(a) is tuple:
        return a + (x,)
    if type(a) is str:
        return a + x

最佳答案

Ev Kounis对字典的使用是原创的,但是如果目的是提高速度,它就不会真正起作用,因为字典每次都会被重建(x会有所不同)
。这个是固定的。
将参数传递给适当的转换函数,就完成了:

# this is built once
d = {tuple: lambda x:(x,), str: lambda x:x, list: lambda x:[x]}

def extend(x, a):
    return a + d[type(a)](x)

(仍然不起作用的是传递子类类型strtuple,不管怎样,但是如果您确定不会,那么这个就起作用了)
老实说,使用一个字典来处理3个键不会那么快,而一个ifs链也同样有效。

关于python - 使新的元组/字符串扩展1的便捷方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49411524/

10-13 00:08