[Python]リストのプラス記号、extend/append差異(Python総合問題3にジャンプ)
私はずっとこの本でPythonの基础知识を勉强して、最后の練習問題partの中で不足点を総括すると同时に、この本の勉强にも挑戦しています!😣
第3四半期のリストのプラス記号とextend関数
この質問質問リストaに+
記号を用いて追加された結果とextend関数を用いて追加された結果との差.
+,extend差異
a = [1, 2, 3]
a = a + [4,5]
print(a)
# [1, 2, 3, 4, 5]
a = [1, 2, 3]
a.extend([4,5])
print(a)
# [1, 2, 3, 4, 5]
差異
a = [1, 2, 3]
a = a + [4,5]
print(a)
# [1, 2, 3, 4, 5]
a = [1, 2, 3]
a.extend([4,5])
print(a)
# [1, 2, 3, 4, 5]
+
を使用する場合、リストaの値は変化するのではなく、2つのリストに加算される새로운 리스트가 반환
である.extend
使用리스트 a의 주소 값이 변하지 않고 유지됨
b = [1,2,3]
print('original id:', id(b))
b = b + [[4,5]]
print('b:', b)
print('+ id:', id(b))
このコードを実行するときに、リンゴの値を結ぶoriginal id: 2359106440768
b: [1, 2, 3, [4, 5]]
+ id: 2359106439872
出てきました.元のidと+を使用すると、リストのidが変更されます.b = [1,2,3]
print('original id:', id(b))
b.extend([4,5])
print('b:',b)
print('extend id:', id(b))
このコードを実行するときに、リンゴの値を結ぶoriginal id: 2359106440768
b: [1, 2, 3, 4, 5]
extend id: 2359106440768
extend
を使用すると、id値が同じであることがわかります.b = [1,2,3]
print('original id:', id(b))
b.append([4,5])
print('b:',b)
print('append id:', id(b))
このコードを実行するときに、リンゴの値を結ぶoriginal id: 2359106439872
b: [1, 2, 3, [4, 5]]
append id: 2359106439872
append
を使用する場合、extendと同様にid値は変更されません.すなわち、extend/append
は、新しいリストを返さずに元のリストに値を追加する.しかし、りんごの値は少し違います.
b: [1, 2, 3, 4, 5]
b: [1, 2, 3, [4, 5]]
この2つの違いをさらに理解してみましょう.extend、append関数の違い
append
パラメータ自体を要素とするextend
一番外側のiterableを含むコードをもう一度見てみましょう.
x = [1,2,3]
y = 'ping'
x.append(y)
print('append:',x)
x = [1,2,3]
y = 'ping'
x.extend(y)
print('extend:',x)
append: [1, 2, 3, 'ping']
extend: [1, 2, 3, 'p', 'i', 'n', 'g']
2つの欠落した値を比較すると、appendは「ping」文字列自体を挿入し、extendは最もオプションの外部のすべての項目をリストに挿入します.簡単に言えば、一番外側のケースを一つ一つリストに挿入することができます!
ここでは、
리스트에 +를 사용할 경우
、extend
およびappend
関数を使用する場合について説明する.Reference
この問題について([Python]リストのプラス記号、extend/append差異(Python総合問題3にジャンプ)), 我々は、より多くの情報をここで見つけました https://velog.io/@cha-suyeon/Python-리스트의-더하기-extendappend-차이-점프투파이썬-종합문제-3번テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol