我有如下編寫代碼:函數採用可變長度作爲參數,並返回元組
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')
更改元素的順序?我如何以與給定輸入相同的順序打印元組?
1)你的縮進是關閉的2)爲什麼不只是'返回元組(args)'? –
@JohnColeman如果你的參數是一個列表,元組(參數)將引發TypeError – Vinny
修正的壓痕和返回元組(參數)將得到所需要的output.But我想知道爲什麼順序只對(「A」變化, 'b','c','d')。 – RVR