python 리스트, 집합, 사전 표기법

리스트 표기법

In [90]: strings = ['a', 'as', 'bat', 'car', 'dove', 'python']

In [91]: [x.upper() for x in strings if len(x) >2]
Out[91]: ['BAT', 'CAR', 'DOVE', 'PYTHON']

In [92]: uniq_len = {len(x) for x in strings}

In [93]: uniq_len
Out[93]: {1, 2, 3, 4, 6}

# 함수적 표현
In [94]: set(map(len, strings))
Out[94]: {1, 2, 3, 4, 6}

# 문자열의 위치를 담고 있는 사전 생성
In [95]: loc_mapping = {val: index for index, val in enumerate(strings)}

In [96]: loc_mapping
Out[96]: {'a': 0, 'as': 1, 'bat': 2, 'car': 3, 'dove': 4, 'python': 5}

중첩된 리스트 표기법

In [97]: all_data = [['John', 'Emily', 'Michael', 'Mary', 'Steven'], ['Maria', 'Juan', 'Javier', 'Natalia', 'Pilar'
    ...: ]]

# 일반
In [98]: names_of_interest = []

In [99]: for names in all_data:
    ...:     enough_es = [name for name in names if name.count('e') >=2]
    ...:     names_of_interest.extend(enough_es)
    ...: 

In [100]: names_of_interest
Out[100]: ['Steven']

# 중첩된 표기법
In [101]: res = [name for names in all_data for name in names
     ...:         if name.count('e') >=2]

In [102]: res
Out[102]: ['Steven']

좋은 웹페이지 즐겨찾기