728x90
반응형

참고자료: https://wikidocs.net/17

 

02-7 불 자료형

`[동영상 강의]` : [점프 투 파이썬 02-7 불 자료형](https://www.youtube.com/watch?v=wl9j4go7p38&list;=PLGSQkvB9T6rvn…

wikidocs.net

 

 

# 불은 참(True)과 거짓(False)을 나타내는 자료형, 2가지 값만 가질 수 있다.
# True나 False는 파이썬의 예약어로, 첫 문자를 항상 대문자로 작성해야 한다.

a = True
b = False
print(type(a))
#class 'bool'


1 == 1
True
2 < 1
False

# 자료형의 참과 거짓
# 값이 있으면 참, 값이 없으면 거짓

 

참 or 거짓
"python"
"" 거짓
[1,2,3]
[] 거짓
(1,2,3)
() 거짓
{'a':1}
{} 거짓
1
0 거짓
None 거짓


# 문자열, 리스트, 튜플, 딕셔너리 등의 값이 비어 있으면("", [], (), {}) 거짓이 되고 비어 있지 않으면 참이 된다. 
# 숫자에서는 그 값이 0일 때 거짓이 된다. None은 거짓을 뜻한다.



a = [1, 2, 3, 4]
while a:
    print(a.pop())
4
3
2
1

# 즉, 위 예를 보면 a가 참인 경우, a.pop()를 계속 실행하여 출력하라는 의미이다. a.pop() 함수는 리스트 a의 마지막 요소를 끄집어 내는 함수이므로 리스트 안에 요소가 존재하는 한(a가 참인 동안) 마지막 요소를 계속 끄집어 낼 것이다. 결국 더 이상 끄집어 낼 것이 없으면 a가 빈 리스트([])가 되어 거짓이 된다. 따라서 while 문에서 조건문이 거짓이 되므로 while 문을 빠져나가게 된다. 이는 파이썬 프로그래밍에서 매우 자주 사용하는 기법 중 하나이다.


if []:
    print("참")
else:
    print("거짓")
#거짓

a = bool([1,2,3])
print(a)
True #값이 있어서 참

a = bool([])
print(a)
False #값이 없어서 거짓


반응형
728x90
반응형

참고자료: https://wikidocs.net/1015

 

02-6 집합 자료형

`[동영상 강의]` : [점프 투 파이썬 02-6 집합 자료형](https://www.youtube.com/watch?v=Gv8wj2mHD8A&list=PLGSQkvB9T6rvn…

wikidocs.net

 

5. 집합

 

# 집합은 set 이라는 키워드를 사용하여 만들 수 있다.
s1 = set([1, 2, 3])
print(s1)
{1, 2, 3}

s2 = set("Hello")
print(s2)
{'e', 'H', 'l', 'o'}


# 집합에 값에는 중복을 허용하지 않고 순서가 따로 없다.
# 집합에서 인덱싱하고 값을 선택하고 슬라이싱하고 형변환이 필요하다. (리스트 or 튜플..)

s1 = set([1, 2, 3])
l1 = list(s1)
print(l1)
[1, 2, 3]
l1[0]
1

t1 = tuple(s1)
print(t1)
(1, 2, 3)
print(t1[0])
1

 

# 값의 중복을 제거할 때도 집합을 많이 사용한다.  

l1 = [1,2,2,3,3,3,3,4]

s1 = set(l1)

print(s1)

{1,2,3,4}

 

li = list(set(l1))

print(li)

[1,2,3,4]

# 다시 리스트 형으로 맞추면 중복이 사라진 리스트형으로 바꿀 수 있다.

 

# 비어있는 집합 자료형은 s = set()로 만들 수 있다.

 

 

 


# 교집합, 합집합, 차집합 구하기

# 예시: 2개의 집합
s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])

 


# 교집합 : & or intersection 함수

print(s1 & s2)
{4, 5, 6}
print(s1.intersection(s2))
{4, 5, 6}


# 합집합 : | or union 함수

print(s1 | s2)
{1, 2, 3, 4, 5, 6, 7, 8, 9}
print(s1.union(s2))
{1, 2, 3, 4, 5, 6, 7, 8, 9}

 


# 차집합 : - or difference 함수

print(s1 - s2)
{1, 2, 3}
print(s2 - s1)
{8, 9, 7}

print(s1.difference(s2))
{1, 2, 3}
print(s2.difference(s1))
{8, 9, 7}

 

 


# 집합 자료형 관련 함수


# 값 1개 추가하기 - add
s1 = set([1, 2, 3])
s1.add(4)
print(s1)
{1, 2, 3, 4}

# 값 여러 개 추가하기 - update
s1 = set([1, 2, 3])
s1.update([4, 5, 6])
print(s1)
{1, 2, 3, 4, 5, 6}

# 특정 값 제거하기 - remove
s1 = set([1, 2, 3])
s1.remove(2)
print(s1)
{1, 3}


반응형
728x90
반응형

참고자료: https://wikidocs.net/16

 

02-5 딕셔너리 자료형

`[동영상 강의]` : [점프 투 파이썬 02-5 딕셔너리 자료형](https://www.youtube.com/watch?v=XQqajwCUPTM&list;=PLGSQkvB9T6…

wikidocs.net

 

4. 딕셔너리

 

# 딕셔너리 = key 와 value 로 구성
# 연관 배열 = 해시 = 딕셔너리

# 리스트는 [] 로 튜플은 () 로 딕셔너리는 {} 로 감싼다.

# 기본형 : {Key1: Value1, Key2: Value2, Key3: Value3, ...}

dic = {'name': 'pey', 'phone': '010-9999-1234', 'birth': '1118'}
print(dic)

# value 에 리스트도 넣을 수 있다.
a = {'a': [1, 2, 3]}


# 딕셔너리 쌍 추가하기 ([key값])
a = {1: 'a'}
a[2] = 'b'
print(a)
{1: 'a', 2: 'b'}

a['name'] = 'pey'
print(a)
{1: 'a', 2: 'b', 'name': 'pey'}

a[3] = [1, 2, 3]
print(a)
{1: 'a', 2: 'b', 'name': 'pey', 3: [1, 2, 3]}


# 딕셔너리 요소 삭제하기 ([key값]으로 선택)
del a[1]
print(a)
{2: 'b', 'name': 'pey', 3: [1, 2, 3]}
# 여러값을 삭제할때 , 로 추가하여 한번에 삭제도 가능하다.


# 딕셔너리에서 key를 사용해 value 얻기
grade = {'pey': 10, 'julliet': 99}
print(grade['pey'])
10
print(grade['julliet'])
99

dic = {'name':'pey', 'phone':'010-9999-1234', 'birth': '1118'}
print(dic['name'])
'pey'
print(dic['phone'])
'010-9999-1234'
print(dic['birth'])
'1118'
# 두개의 값을 한번에 불러오고 싶을 때 ,로 값 연결
print(dic['birth'], dic['phone'])



# 딕셔너리 만들 때 주의할 사항
# 1. 딕셔너리에서 Key는 고유한 값이므로 중복되는 Key 값을 설정해 놓으면 하나를 제외한 나머지 것들이 모두 무시된다는 점에 주의해야 한다.
a = {1:'a', 1:'b'}
print(a)
{1: 'b'}
# 덮어써져서 마지막값으로만 출력됌

# 2. Key에 리스트는 쓸 수 없다는 것이다. 하지만 튜플은 Key로 쓸 수 있다. 
# 딕셔너리의 Key로 쓸 수 있느냐, 없느냐는 Key가 변하는(mutable) 값인지, 변하지 않는(immutable) 값인지에 달려 있다. 
# 리스트는 그 값이 변할 수 있기 때문에 Key로 쓸 수 없다.


# 딕셔너리 관련 함수 1 - keys() 함수 : key값만 출력
a = {'name': 'pey', 'phone': '010-9999-1234', 'birth': '1118'}
print(a.keys())
# dict_keys(['name', 'phone', 'birth'])
print(list(a.keys())) # list로 변환 할 때

for k in a.keys():
    print(k)
# 보통 for문과 같이 사용 된다.


# 딕셔너리 관련 함수 2 - values : value 값만 출력
print(a.values())
# dict_values(['pey', '010-9999-1234', '1118'])


# key, value 쌍 얻기 - items
print(a.items())
#dict_items([('name', 'pey'), ('phone', '010-9999-1234'), ('birth', '1118')])
# key:value값이 튜플에 담겨 출력 된다.

# key, value 쌍 모두 지우기 - clear
print(a.clear())
print(a)
# {} 빈 딕셔너리

# Key로 Value 얻기 - get
a = {'name': 'pey', 'phone': '010-9999-1234', 'birth': '1118'}
print(a.get('name')) # print(a['name']) 와 결과값이 같다.
# 딕셔너리에 없는 값을 입력했을때 get 함수의 결과값은 none 이라고 뜨고, 뒤 예시는 에러로 출력된다.
'pey'

print(a.get('nokey', 'foo'))
# 딕셔너리 안에 key값에 없는 값을 입력했을 때 리턴받고 싶은 value의 값을 지정할 수 있다.
'foo'

# 해당 Key가 딕셔너리 안에 있는지 조사하기 - in
a = {'name':'pey', 'phone':'010-9999-1234', 'birth': '1118'}
print('name' in a)
True
print('email' in a)
False


# 리스트와 개념이 비슷하다고 생각해도 좋다.
a = [1,2,3] # 리스트: 인덱스번호0=1, 1=2, 2=3
a = {0:1, 1:2, 2:3} # 딕셔너리: key0=value1, key1=value2, key2=value3




반응형
728x90
반응형

참고자료: https://wikidocs.net/15

 

02-4 튜플 자료형

`[동영상 강의]` : [점프 투 파이썬 02-4 튜플 자료형](https://www.youtube.com/watch?v=o6hyquTZK2k&list;=PLGSQkvB9T6rv…

wikidocs.net

 

4. 튜플


# 리스트와 거의 유사
# 리스트는[]로 튜플은()로 감싼다.
# 리스트는 요솟값의 생성, 삭제, 수정이 가능하지만, 튜플은 요솟값을 바꿀 수 없다.
# 변경이 안되는 리스트 이다.

# Mutable (리스트, 딕셔너리, 집합)
# Immutable (정수, 실수, 문자열, 튜플)

t1 = ()
t2 = (1,) # 튜플은 1개의 값일때 뒤에 ,를 적어준다.
t3 = (1, 2, 3)
t4 = 1, 2, 3
print(type(t4))
>>>class 'tuple'
t5 = ('a', 'b', ('ab', 'cd'))

# 튜플 요솟값을 삭제하려 할 때
t1 = (1, 2, 'a', 'b')
del t1[0]
# 지울 수 없다는 오류메세지가 뜸

# 튜플 요솟값을 변경하려 할 때
t1 = (1, 2, 'a', 'b')
t1[0] = 'c'
# 오류


# 튜플 인덱싱 하기
t1 = (1, 2, 'a', 'b')
print(t1[0])
1
print(t1[3])
'b'

# 튜플 슬라이싱 하기
t1 = (1, 2, 'a', 'b')
t1[1:]
(2, 'a', 'b')

# 튜플 더하기
t1 = (1, 2, 'a', 'b')
t2 = (3, 4)
t3 = t1 + t2
print(t3) # 새로운 t3라는 튜플이 만들어 졌다
(1, 2, 'a', 'b', 3, 4)

# 튜플 곱하기
t2 = (3, 4)
t3 = t2 * 3
print(t3)
(3, 4, 3, 4, 3, 4)

# 튜플 길이 구하기
t1 = (1, 2, 'a', 'b')
print(len(t1))
4

# 튜플은 요솟값을 변경할수 없기 때문에 sort, insert, remove, pop과 같은 내장 함수가 없다.

반응형
728x90
반응형

참고자료: https://wikidocs.net/14

 

02-3 리스트 자료형

`[동영상 강의]` : [점프 투 파이썬 02-3 리스트 자료형](https://www.youtube.com/watch?v=Z5NGKmd6GOY&list;=PLGSQkvB9T6r…

wikidocs.net

 

3. 리스트

 

# 리스트 인덱싱
odd = [1, 3, 5, 7, 9]
print(type(odd))
print(odd[1] + odd[2])

e = [1, 2, ['Life', 'is']]
# 리스트 안에 리스트를 넣을 수 있다.
print(e[2][1])
# e 변수 안에 1(인덱스0), 2(인덱스1), 'Life','is'(인덱스3)
# e[2][1]의 의미는 e 리스트 안의 인덱스2번의 인덱스1번 값을 print해라.

# 리스트의 슬라이싱
a = [1, 2, 3, 4, 5]
print(a[0:2])
# [0:2] 0 은 이상 2는 미만 = 0번 인덱스부터 2번 인덱스 미만까지의 값
[1, 2]

b = [1, 2, 3, ['a', 'b', 'c'], 4, 5]
print(b[2:5])
[3, ['a', 'b', 'c'], 4]

print(b[3][:2])
['a', 'b']

# 리스트 연산하기
c = [1, 2, 3]
d = [4, 5, 6]
print(c + d)
[1, 2, 3, 4, 5, 6]


# 리스트 반복하기
f = [1, 2, 3]
print(f * 3)
[1, 2, 3, 1, 2, 3, 1, 2, 3]

# 리스트 길이 구하기
g = [1, 2, 3]
print(len(g))
3

# 리스트 값 수정하기
h = [1, 2, 3]
h[2] = 4
print(h)
[1, 2, 4]

# del 함수를 사용해 리스트 요소 삭제하기
i = [1, 2, 3]
del i[1]
print(i)
[1, 3]

# del 함수와 슬라이싱을 이용해 리스트 요소 삭제하기
j = [1, 2, 3, 4, 5]
del a[2:]
# 인덱스번호 2번 이상부터 삭제
print(j)
[1, 2]


# 리스트에 요소 추가하기 - append
k = [1, 2, 3]
k.append(4)
print(k)
[1, 2, 3, 4]

# 리스트에 리스트 추가하기
k.append([5, 6])
print(k)
[1, 2, 3, 4, [5, 6]]

# 리스트 정렬 - sort / 오름차순
l = [1, 4, 3, 2]
l.sort()
print(l)
[1, 2, 3, 4]

m = ['a', 'c', 'b']
m.sort()
print(m)
['a', 'b', 'c']

# 리스트 뒤집기 - reverse / 내림차순
n = ['a', 'c', 'b']
n.reverse()
print(n)
['b', 'c', 'a']


# 인덱스 반환 - index
o = [1, 2, 3]
print(o.index(3))
2
print(o.index(1))
0

# 리스트에 요소 삽입하기 - insert
p = [1, 2, 3]
p.insert(0, 4)
# insert(몇번째인덱스에, 어떤값을 삽입)
print(p)
[4, 1, 2, 3]

# 리스트 요소 제거 - remove
q = [1, 2, 3, 1, 2, 3]
q.remove(3)
# 3이 두번 나오지만 가장 먼저 나오는 3을 제거 / 다 지우고 싶으면 q.remove(3) 두번 적기
print(q)
[1, 2, 1, 2, 3]

# 리스트 요소 끄집어 내기 - pop
r = [1, 2, 3]
print(r.pop()) # 마지막 요소를 삭제
3
print(r)
[1, 2]
# pop(인덱스번호)는 리스트의 적은 인덱스번호 요소를 리턴하고 그 요소는 삭제한다.


# 리스트에 포함된 요소 x의 개수 세기 - count
s = [1, 2, 3, 1]
print(s.count(1))
2

# 리스트 확장 - extend
t = [1, 2, 3]
t.extend([4, 5])
print(t)
[1, 2, 3, 4, 5]

u = [6, 7]
t.extend(u)
print(t)
[1, 2, 3, 4, 5, 6, 7]

반응형

+ Recent posts