파이썬

파이썬 - 리스트, 튜플, 세트

Gamcho 2017. 11. 27. 22:50

>>> #list 만드는 법

>>> empty_list = []

>>> empty_list = list()


>>> #튜플 만드는 법

>>> empty_tuple = ()

>>> empty_tuple = tuple()


>>> #세트 만드는 법

>>> empty_set = set()



튜플


튜플 속 항목은 수정이 안되고 읽기만 가능하다.



세트


1.순서가 없다. (실행 시마다 자료 순서가 바뀜)


>>> player_names = {'martial', 'dybala', 'sanchez', 'hazard'}

>>> 

>>>print(player_names)

{'hazard', 'martial', 'dybala', 'sanchez'}



2. 중복 항복을 제거한다. (두 세트의 중복되는 값을 제거할때 유용)


>>> player_names = {'martial', 'dybala', 'sanchez', 'hazard','hazard'}

>>> print(player_names)

{'hazard', 'martial', 'dybala', 'sanchez'}


3. 멤버쉽 (두 세트의 중복 값을 출력, 다른 값을 출력, 합치기)


>>> print('martial' in player_names)

True


>>> print(set1.intersection(set2))


>>> print(set1.difference(set2))


>>> print(set1.union(set2))


리스트 추가


#append 리스트에 새로운 항목을 추가


>>> nums = [1, 2, 3, 4, 5, 6]

>>> nums.append(7)

>>> print(nums)

[1, 2, 3, 4, 5, 6, 7]



#insert 리스트에 원하는 위치에 새로운 항목을 추가


>>> nums.insert(0, 8)

>>> print(nums)

[8, 1, 2, 3, 4, 5, 6, 7]



#extend 각 리스트를 완전히 합치고 싶을때


>>> nums = [1, 2, 3, 4, 5, 6]

>>> nums2 = [11, 22]

>>> nums.extend(nums2)

>>> print(nums)

[1, 2, 3, 4, 5, 6, 11, 22]



#insert와 extend 결과가 다르므로 주의


>>> nums = [8, 1, 2, 3, 4, 5, 6, 7]

>>> nums2 = [11, 22]


>>> nums.insert(0, nums2)

>>> print(nums)

[[11, 22], 8, 1, 2, 3, 4, 5, 6, 7]




리스트 삭제



#remove 항목이름으로 리스트에서 삭제


>>> nums = [1, 2, 3, 4, 5, 6]

>>> nums.remove(3)

>>> print(nums)

[1, 2, 4, 5, 6]



#pop 항목이름을 표시하고 삭제


>>> nums = [1, 2, 3, 4, 5, 6]

>>> nums.pop()

6




리스트 순서정렬




#reverse 순서 뒤집기


>>> nums = [1, 2, 3, 4, 5, 6]

>>> nums.reverse()

>>> print(nums)

[6, 5, 4, 3, 2, 1]



#sort 순서정렬과 뒤집기


>>> nums3 = [3, 1, 6, 9, 2]

>>> nums3.sort(reverse=True)

>>> print(nums3)

[9, 6, 3, 2, 1]



#sorted 원본을 그대로 두고 순서정렬


>>> nums3 = [3, 1, 6, 9, 2]

>>> sorted_numb = sorted(nums3)

>>> print(sorted_numb)

[1, 2, 3, 6, 9]



리스트 enumerate 인덱스 + 항목


#enumerate 인덱스와 항목을 같이 출력


>>> player_names = [ 'martial', 'dybala', 'sanchez', 'hazard']

>>> for index, player_name in enumerate(player_names):

print(index, player_name)


0 martial

1 dybala

2 sanchez

3 hazard





>>> player_names = [ 'martial', 'dybala', 'sanchez', 'hazard']

>>> for index, player_name in enumerate(player_names, start=1):

print(index, player_name)


1 martial

2 dybala

3 sanchez

4 hazard

>>> 



리스트를 문자열str 로 나누기



#join


>>> player_names = [ 'martial', 'dybala', 'sanchez', 'hazard']

>>> player_names_str = ' - '.join(player_names)

>>> print(player_names_str)

martial - dybala - sanchez - hazard


#split() 다시 리스트로 만들기


>>> new_list = player_names_str.split(' - ')

>>> print(new_list)

['martial', 'dybala', 'sanchez', 'hazard']