以下の場合のように、メソッドを連続させるとエラーになるのか、その理由を教えていただけないでしょうか?
スクリプト作成自体に支障はないのですが、例えばPandasだとメソッドを連続させることをよく行っているので(df.assign(...).pipe(...)など)、以下の操作ができないようになっている理由が理解できないです。
おそらく、l1.extend(l2)が返り値としてNoneを返しているからと思いますが、なぜそういう設計になっているのでしょうか?(仕様と言われればそれまでですが)
# 問題ない方法 l1 = [1,2,3,4,5] l2 = [6,7,8] l1.extend(l2) l1.remove(8) print(l1) # [1, 2, 3, 4, 5, 6, 7] # 問題が発生する方法 l1 = [1,2,3,4,5] l2 = [6,7,8] l1.extend(l2).remove(8) # AttributeError: 'NoneType' object has no attribute 'remove' print(l1.extend(l2)) # None
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/16 04:57