티스토리 뷰

python

[python] list, tuple, dictionary, set

지휘리릭 2019. 12. 2. 21:42

 

리스트 : 순서 있다. 중복, 수정, 삭제 가능

 

c = [1, 2, 3, 4]

 

# 슬라이스한 하나의 인덱스에 리스트를 넣으면 그냥 값으로 들어가지만

c[1:2] = [100, 10000, 199]

print(c) => [1, 100, 10000, 199, 3, 4]

 

# 하나의 고정된 인덱스에 리스트를 넣으면 리스트 자체가 들어간다.

c[1] = ['a', 'b', 'c']

print(c) => [1, ['a', 'b', 'c'], 3, 4]

 

# del은 해당하는 인덱스 값을 지웠지만, remove는 해당하는 값을 지운다.

 

ex = [88, 77]

 

# extend는 리스트 값을 확장하면 각각의 원소로써 추가된다.

y.extend(ex); print(y)

=>  [1234, 88, 77]

 

# append는 리스트 값을 확장하면 리스트 자체가 하나의 원소로써 추가된다.

y.append(ex); print(y)

=>  [1234, [88, 77]]



튜플 : 순서, 중복 있다. 수정, 삭제 안됨

 

# 튜플 함수

z = (5, 2, 1, 3, 4)

 

# 해당 값이 있는 인덱스 번호를 반환

print(z.index(1)) => 2

 

# 해당 값이 몇 번 나오는지 카운팅

print(z.count(1)) => 1

 

 

딕셔너리 (dict) : 순서, 중복 없음. 수정, 삭제 가능 {key : value}

a = {'name':'kim', 'phone': '010-1234-5678', "birth" : 870214}

b = {0 : 'hello python', 1:'hello coding'}

c = {'arr' : [1, 2, 3, 4, 5]}

print(c)

 

print(a.get('name'))

print(a['name'])

print(a.get('address'))

print(c['arr'][1:3])

 

# 딕셔너리 추가

a['address'] = 'seoul'

print(a)

a['rank'] = [1, 3, 4]

a['rank2'] = (1, 2, 3)

print(a)

 

# 딕셔너리 keys, values, items

print(a.keys())

print(a.values())

print(a.items())

# 딕셔너리는 순서가 없기 때문에 인덱싱이 무효하다. 그래서 list로 형변환하여 접근한다.

print(list(a.keys()))

print(list(a.keys())[1])

 

print(list(a.items()))

for first, second in list(a.items()):

print(first, second, end = "=====")



집합 set : 순서, 중복 없음. 선언할 때 set() 필요

a = set()

b = set([1, 2, 3, 4])

c = set([1, 2, 3, 4, 5, 6, 6])

print(type(a))

print(c)

 

s1 = set([1, 2, 3, 4, 5, 6])

s2 = set([4, 5, 6, 7, 8, 9])

# s1과 s2의 교집합

print(s1.intersection(s2))

print(s1 & s2)

 

# s1과 s2의 합집합

print(s1.union(s2))

print(s1 | s2)

 

# s1과 s2의 차집합

print(s1.difference(s2))

print(s1-s2)

 

# 추가 제거

s3 = set([7, 8, 10, 15])

s3.add(7)

s3.add(89)

print(s3)

s3.remove(89)

print(s3)







댓글