為什么我不能替換以下第一個代碼:
def conversion7(x,k):
l=list(x)
l.append(k)
return tuple(l)
t=(1,2,3,4)
print(conversion7(t,7))
與第二個:
def conversion7(x,k):
return tuple(list(x).append(k))
t=(1,2,3,4)
print(conversion7(t,7))
第一個代碼有效。這是第二個代碼的編譯器輸出:
Traceback (most recent call last):
File "<string>", line 5, in <module>
File "<string>", line 2, in conversion7
TypeError: 'NoneType' object is not iterable
>
代碼的目的是通過將元組轉換為串列、推送串列然后將其轉換回元組來推送元組。
uj5u.com熱心網友回復:
由于 append 不回傳對串列的參考,正如 chepner 指出的那樣,您可以執行以下操作:
def conversion7(x,k):
return tuple(list(x) [k])
或者跳過串列轉換并立即添加元組:
def conversion7(x,k):
return x (k,)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/430310.html
