hirhirの日記

Pythonとデータ分析と人口知能

Python3 入門:ネイティブデータ型 リスト その2

Python3 入門 リスト その2

リストの検索

In [1]:
 
a=['a',2,'hoge','foo']
a
 
 
Out[1]:
['a', 2, 'hoge', 'foo']
In [2]:
 
a.count(2)
 
 
Out[2]:
1
In [3]:
 
'hoge' in a
 
 
Out[3]:
True
In [4]:
 
'bar' in a
 
 
Out[4]:
False
In [5]:
 
a.index('hoge')
 
 
Out[5]:
2
In [6]:
 
a.index("hoge")
 
 
Out[6]:
2
In [7]:
 
a.index('bar')
 
 
 
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-7-6603ef13ee02> in <module>()
----> 1 a.index('bar')

ValueError: 'bar' is not in list

In [8]:
 
a.append('a')
a
 
 
Out[8]:
['a', 2, 'hoge', 'foo', 'a']
In [9]:
 
a.count("a")
 
 
Out[9]:
2

うん特に難しいところはない

シングルとダブルのクォートでもどっちでもサーチできる。

In [10]:
 
a.append(['a',2])
a
 
 
Out[10]:
['a', 2, 'hoge', 'foo', 'a', ['a', 2]]
In [11]:
 
a.count('a')
 
 
Out[11]:
2
In [12]:
 
a.count(2)
 
 
Out[12]:
1

オブジェクトの中身まではサーチできない。良かった良かった。

削除

 削除はdel , remove() , pop()

まずはdel、remove()

In [1]:
 
a=['a','b','c','d','e']
a
 
 
Out[1]:
['a', 'b', 'c', 'd', 'e']
In [2]:
 
a[2]
 
 
Out[2]:
'c'
In [3]:
 
del a[2]
a
 
 
Out[3]:
['a', 'b', 'd', 'e']
In [4]:
 
a[2]
 
 
Out[4]:
'd'
In [5]:
 
a.remove('b')
a
 
 
Out[5]:
['a', 'd', 'e']
In [6]:
 
a.remove('b')
 
 
 
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-6-197005e7438c> in <module>()
----> 1 a.remove('b')

ValueError: list.remove(x): x not in list

すごい素直な感じ

次はpop()

In [1]:
 
a=['a','b','c','d','e','f']
a
 
 
Out[1]:
['a', 'b', 'c', 'd', 'e', 'f']
In [2]:
 
a.pop()
 
 
Out[2]:
'f'
In [3]:
 
a
 
 
Out[3]:
['a', 'b', 'c', 'd', 'e']

削除した値を返しリストは値が削除されている


In [4]:
 
a.pop(1)
 
 
Out[4]:
'b'
In [5]:
 
a
 
 
Out[5]:
['a', 'c', 'd', 'e']
In [8]:
 
a.pop(3)
 
 
Out[8]:
'e'
In [9]:
 
a
 
 
Out[9]:
['a', 'c', 'd']
In [10]:
 
a.pop(1)
a.pop(1)
a.pop(1)
 
 
 
---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-10-2fa578e1990b> in <module>()
      1 a.pop(1)
      2 a.pop(1)
----> 3 a.pop(1)

IndexError: pop index out of range

In [11]:
 
a
 
 
Out[11]:
['a']

削除するべき値がなくなった段階でエラー

うんちょっと癖ありますけど別にこういうものだと思えばいいかなと思いますえ

ネイティブデータ型 - Dive Into Python 3 日本語版

このサイトとリファレンスで勉強できそうだね。。。

参考図書