撰寫一個名為oddTuples 的程序,它接受一個元組作為輸入,并回傳一個新的元組作為輸出,其中輸入元組的所有其他元素都被復制,從第一個開始。因此,如果 test 是元組 ('I', 'am', 'a', 'test', 'tuple'),則在此輸入上評估oddTuples 將回傳元組 ('I', 'a', 'tuple' )。我用這個代碼得到了 0.6/1:
def oddTuple(tup):
b = 1
if b % 2 != 0:
d.append(tup[b])
b = 1
print (d)
uj5u.com熱心網友回復:
你可以用基本的切片來做到這一點。
tup = ('I', 'am', 'a', 'test', 'tuple')
tup[::2]
# ('I', 'a', 'tuple')
切片的語法是iterable[start:end:step]. 如果你留下任何的那些start,end或step空白,他們分別默認為開頭,結尾和1。所以上面的內容貫穿了整個事情(開始到結束),但只選擇了其他所有元素。
如果您在方法中需要它:
def odd_tuple(tup):
return tup[::2] # or print(tup) if you prefer
uj5u.com熱心網友回復:
您可以使用enumerate和回傳奇數元素,tuple如下所示:
>>> def oddTuple(tup):
... return tuple(t for idx, t in enumerate(tup) if idx % 2==0)
>>> oddTuple(('I', 'am', 'a', 'test', 'tuple'))
('I', 'a', 'tuple')
uj5u.com熱心網友回復:
嘗試這個:
def oddTuple(tup):
return tuple(tup[i] for i in range(0, len(tup), 2))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/325041.html
