2016-05-04 11 views
0

私はPythonを初めて使い、オンラインチュートリアルを読んで遊んでいます。これは私が行うことです:Pythonでは、文字列のリストに整数を追加する場合のデータ型は何ですか?

>>> arr1 = ['er','t','ty'] # I suppose these three elements are strings 
>>> arr1.append(3)   # try to append an integer 3 
>>> print arr1 
['er', 't', 'ty', 3] 

質問:私はarr1がリストだと思います。 'er'、 't'、 'ty'は文字列です。 3はまだ整数です。これは正しいです?または3が文字列として自動的にキャストされました。

おかげ

+4

いいえ、まだ整数です。任意のデータ型の値をリスト内に格納できます。 –

+0

リストの要素は同じデータ型でなければならないというコミットメントはありません。 –

+0

ありがとう。私はすべての要素が同じタイプでなければならないと思った。これはPythonでは当てはまりません –

答えて

5

listは、異種のオブジェクトのシーケンスです。それらはどんなタイプでもかまいません。あなたは、組み込み関数type()でこれを確認することができます。

>>> arr1 = ['er','t','ty'] 
>>> arr1.append(3) 
>>> print(arr1) 
['er', 't', 'ty', 3] 
>>> for object in arr1: 
... print(object, type(object)) 
... 
er <class 'str'> 
t <class 'str'> 
ty <class 'str'> 
3 <class 'int'> 
+0

ありがとうございました。他の言語との静かな違い(C、C++など) –

0

3はまだ整数です。 リストには異なる種類のアイテムを含めることができます。 自体は<クラス 'リスト'のような型を持っています> C++のような他の言語とは異なり、 "整数リスト"や "fooリスト"のようなものはありません。

+0

実際には「整数リスト」のようなものがあります:Pythonの 'array'型です。あなたは頻繁にそれを直接使用することはしませんが、 'numpy'のようなパッケージでbulk * homogeneous *データを効率的に操作することが不可欠です。 – nigel222

関連する問題