将可变长度作为参数并返回元组的函数

RVR

我写的代码如下:

def convTup(*args):
    t = set([])
    for i in args:
        t.add(i)
    return tuple(t)

print convTup('a','b','c','d')
print convTup(1,2,3,4,5,6)
print convTup('a','b')

预期输出:

('a', 'b', 'c', 'd')
(1, 2, 3, 4, 5, 6)
('a', 'b')

但我得到如下输出:

('a', 'c', 'b', 'd')
(1, 2, 3, 4, 5, 6)
('a', 'b')

为什么元素的顺序只改变了('a','b','c','d')如何以与给定输入相同的顺序打印元组?

陈A

您可以使用它,您将有一个元组序列作为输入

>>> def f(*args):
    p = []
    [p.append(x) for x in args if x not in p]
    return tuple(p)

>>> f(1, 1, 2, 3)
(1, 2, 3)
>>> f('a', 'b', 'c', 'd')
('a', 'b', 'c', 'd')

此函数将创建一个唯一元素列表并跟踪它们的顺序,然后将其作为元组返回。

您可以使用set而不是list来查看相同的功能集合不会跟踪元素输入的顺序。

>>> def tup1(*args):
    l = {x for x in args}
    return tuple(l)

>>> 
>>> tup1('a', 'b', 'c', 'd')
('a', 'c', 'b', 'd')

如果您在多个地方使用它,您可以实现自己的SortedSet集合。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将可变长度列表作为位置参数(argparse)?

函数返回可变长度的通用数组元组

PHP如何将可变长度函数参数传递给另一个可变长度函数?

将可变长度元组的列表转换为字典

是否可以在 C++ 中将可变长度数组作为参数传递?

从函数返回可变长度数组

可变长度参数

如何在Golang中将可变长参数作为参数传递给另一个函数?

sizeof运算符结合可变长度数组作为函数参数

如何使用可变长度的二维数组作为函数的参数

如何在Django中将可变长度的元组列出到表中?

如何传递可变长度数组常量作为参数?

如何在Python中将可变长度参数与关键字参数组合?

创建具有可变长度参数的函数python

从Java调用可变长度参数Scala函数的语法?

如何理解python函数中的可变长度参数?

c函数如何接收可变长度参数?

接收可变长度参数的条件概率函数

是否可以将可变长度的字符向量传递给 R 函数?

在python中,如何将列表的每个值作为函数中的可变长度参数单独传递?

如何注释采用可变长度元组的函数?(多元元组类型注释)

将可变长度张量修剪为最大长度

C ++:基于整数模板参数创建可变长度元组

将可变长度数组从csv解析为struct

ZPL如何将可变长度的文本居中

将可变长度列表转换为R中的矩阵

是否建议将可变长度数组(VLA)与C中的内联函数一起使用?

如何将可变函数参数作为参数传递给另一个函数?

将数组元素返回到参数中的可变长度数组