1.変数のデータ型と不変。
- リスト '変数のデータ型であり、その値は、追加、削除または変更することができます。
- 文字列は、それを変更することはできません、「不変」です。
(1)文字列
- TypeError例外になります文字列の再割り当てに試してみてください。
1 = ' ABCD ' 2 [0] = ' Eの'
3 トレースバック(最新の呼び出しの最後): 4ファイル"C:\ Users \ユーザーAnaconda3 \ libには\サイト-パッケージ\夏\ IPython \コア\のinteractiveshell.py" 、ライン2961、run_codeで 5 EXEC(code_obj、self.user_global_ns、self.user_ns) <モジュール> 6ファイル"<ipython-入力37-93bf15c8bf3d>"、1行目、 7 [0] = 'E' 8 TypeError例外:「STR」オブジェクトは、アイテムの割り当てをサポートしていません。
- [変更]を正しく文字列、およびミクロトームを使用して接続
1 = ' ABCD ' 2 = [1] + [ E ] + [1 :] 3 4 ' aebcd '
(2)一覧
- 違い:カバレッジとのリストを変更します
- カバー一覧(リストを変更しませんが、新しいリストを作成します)
1、B = [1,2,3 ] 2 ID(B) 3 OUT [42]:95411912 4 B = [2,3,4 ] 5 ID(B) 6 OUT [44]:95411720
- リストを変更します(変更の現在のリストに新しいリストを作成しません)
1、B = [1,2,3 ] 2 ID(B) 3 OUT [46]:93984712 4 b.append(4) 5 B 6 OUT [48] [1、2、3、4 ] 7 ID(B ) 8 OUT [49]:93984712 9 デル[0]、B 10 、B 11 OUT [51]:[2、3、4 ] 12 ID(B) 13 OUT [52]:93984712
(3)タプル
- 主な違いは、タプルのリストは、文字列のようにタプルは不変であるということです。タプルはそれらの値は、修正、追加または削除することを許可することはできません。
1、A =(' こんにちは'、1、' A ' ) 2 [0] = 1 3トレースバック(最後の最新の呼び出し): 4ファイル「C:\ Users \ユーザー夏\ Anaconda3 \ libに\のsite-packagesに\ IPython \ 「run_codeで、ライン2961、コアの\ interactiveshell.py 5 EXEC(code_obj、self.user_global_ns、self.user_ns) <モジュール> 6ファイル"<ipython入力-54-f9da761c742a>"、1行目、 7 [0 ] = 1 8はTypeError:「タプル」オブジェクトアイテムの割り当てをサポートしていません
2.参考文献
- 基準値、いくつかのデータポイントがあります。
- 変数の値は、リストや辞書として、変数のデータ型に保存されなければならない場合には、Pythonは参照を使用します。
-
リストを変数に割り当てられている場合、実際には、それは、リストの「参照」変数に割り当てられています。参考文献のリストは、値のリストを指しています。
-
不変のデータタイプ、例えば、文字列、整数、またはタプルの値に対して、Pythonの変数は、値そのものを記憶します。
1件のスパム= [0、1、2、3、4、5 ]
2 ID(スパム) 3 OUT [66]:95545224 4チーズ= スパム 5 チーズ 6 OUT [68]:[0、1、2、3、4、5 ]
7 ID(チーズ) 8 OUT [69]:95545224 9チーズ[1] = ' ハロー' 10 チーズ 11 OUT [71]:[0、' こんにちは'、2、3、4、5 ] 12 スパム 13 OUT [72 ]:[0、' こんにちは'、2、3、4、5 ]
14 ID(チーズ) 15 OUT [73]:95545224 16 ID(スパム)
17 OUT [74]:95545224