List
- 파이썬의 자료형
- 숫자형
- 문자열 자료형
- 리스트 자료형
- 튜플 자료형
- 딕셔너리 자료형
- 집합 자료형
- 불 자료형
- 자료형의 값을 저장하는 공간
- 변수
{Key1:Value1, Key2:Value2, Key3:Value3, ...}
>>> dic = {'name':'pey', 'phone':'0119993323', 'birth': '1118'}
>>> a = {1:'hi'}
>>> a = { 'a':[1,2,3]} # 리스트를 넣을 수도 있음
변수이름[key] = value
>>> a = {1: 'a'}
위의 딕셔너리에 `key = 2` `value = b`를 추가해라
>>> a[2] = 'b'
>>> a
{1: 'a', 2: 'b'}
>>> a['name'] = 'pey'
>>> a
{1: 'a', 2: 'b', 'name': 'pey'}
>>> a[3] = [1,2,3] # 이런 value도 추가 가능하다
>>> a
{1: 'a', 2: 'b', 'name': 'pey', 3: [1, 2, 3]}
del 변수이름[key]
>>> del a[1]
>>> a
{2: 'b', 'name': 'pey', 3: [1, 2, 3]}
변수이름[key]
를 사용하면 된다>>> dic = {'name':'pey', 'phone':'0119993323', 'birth': '1118'}
>>> dic['name']
'pey'
>>> dic['phone']
'0119993323'
>>> dic['birth']
'1118'
>>> a = {1:'a', 1:'b'}
>>> a
{1: 'b'}
>>> a = {[1,2] : 'hi'}
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
>>> a = {(1,2) : 'hi'}
>>> a
{(1, 2): 'hi'}
변수이름.함수()
-
변수이름.key()
: key로만 리스트를 만들고, dict_keys를 변수로 리스트 출력한다.>> a = {'name': 'pey', 'phone': '0119993323', 'birth': '1118'} >> a.keys() dict_keys(['name', 'phone', 'birth'])
>> for k in a.keys(): ... print(k) ... name phone birth
dict_keys
의 사용- 리스트를 사용하는 것과 차이가 없지만, 리스트 고유의
append
,insert
,pop
,remove
,sort
함수는 수행할 수 없다.>> list(a.keys()) ['name', 'phone', 'birth']
변수이름.values()
: value로만 리스트 만들고, dict_value를 변수로 리스트 출력한다.>> a.values() dict_values(['pey', '0119993323', '1118'])
변수이름.items()
: Key, Value 같이 리스트 만들고, dict_items로 리스트 출력한다.>> a.items() dict_items([('name', 'pey'), ('phone', '0119993323'), ('birth', '1118')])
변수이름.clear()
: key, value를 전부 지운다.>> a.clear() >> a {} # 리스트는 값이 없을 때'[]`, 튜플은 '()', 딕셔너리는 '{}'
변수이름.get(key값)
: x에 key값을 넣어서 value값 얻을 수 있다.>> a = {'name':'pey', 'phone':'0119993323', 'birth': '1118'} >> a.get('name') 'pey' >> a.get('phone') '0119993323'
- *이때
변수이름[key값]
사용과변수이름.get(key값)
의 차이점은 존재하지 않은 키값을 입력했을 때 나온다.>> a = {'name':'pey', 'phone':'0119993323', 'birth': '1118'} >> print(a.get('nokey')) None # 값이 None으로 나오며, 이 이 의미는 거짓이라는 의미 >> print(a['nokey']) Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 'nokey' # 오류가 나온다
변수이름.get(key값, default값)
: 안에 찾으려는 Key 값이 없을 경우 미리 정해 둔 디폴트 값을 대신 가져오게 하고 싶을 때 사용한다.>> a.get('foo', 'bar') 'bar'
key값 in 변수이름
:해당 key가 딕셔너리 안에 있는지 없는지 조사할 때 사용한다.>> a = {'name':'pey', 'phone':'0119993323', 'birth': '1118'} >> 'name' in a # str이기 떄문에 ' ' 사용 True # 있으면 True 출력 >> 'email' in a False # 없으면 False 출력