height = 178.9 # float 타입의 데이터를 저장한다.
height1 = 178.9 # float 타입의 데이터를 저장한다.
height2 = 173.5 # float 타입의 데이터를 저장한다.
height3 = 166.1 # float 타입의 데이터를 저장한다.
height4 = 164.3 # float 타입의 데이터를 저장한다.
height5 = 176.4 # float 타입의 데이터를 저장한다.
heights = [178.9, 173.5, 166.1, 164.3, 176.4]
heights
7.2 여러개의 항목이 들어가는 리스트를 만들자
bts = ['V', 'Jungkook', 'Jimin']
bts = []
bts = []
bts.append("V")
bts
bts.append("Jin")
bts.append("Suga")
bts
bts = ['V', 'Jin', 'Suga', 'Jungkook']
bts = bts + ['RM'] # 덧셈 연자자로 멤버 'RM'을 추가함
bts
list(range(5)) # 0에서 5사이의 정수열을 생성(5는 포함안됨)
list(range(0, 5)) # list(range(5))와 동일한 결과
list(range(0, 5, 1)) # list(range(0, 5))와 동일한 결과
list(range(0, 5, 2)) # 생성하는 값을 2씩 증가시킴
list(range(2, 5)) # 2에서 5-1까지의 연속된 수 2, 3, 4을 생성
7.3 리스트 연산을 해보자
bts = ['V', 'J-Hope'] + ['RM', 'Jungkook', 'Jin']
bts
numbers = [10, 20, 30] + [40, 50, 60]
numbers
mystery = [0, 1, 2] * 3 # [0, 1, 2]가 3회 반복되어 저장됨
mystery
bts = ['V', 'J-Hope', 'RM', 'Jungkook', 'Jin', 'Jimin', 'Suga']
'V' in bts
'V' not in bts
입력을 받아 맛있는 과일의 리스트를 만들어 보자
fruits = []
name = input('좋아하는 과일의 이름을 입력하시오: ')
fruits.append(name)
name = input('좋아하는 과일의 이름을 입력하시오: ')
fruits.append(name)
name = input('좋아하는 과일의 이름을 입력하시오: ')
fruits.append(name)
name = input('과일의 이름을 입력하세요: ')
if name in fruits:
print('이 과일은 당신이 좋아하는 과일입니다.')
else:
print('이 과일은 당신이 좋아하는 과일이 아닙니다.')
slist1 = ['Kim', 178.9, 'Park', 173.5, 'Lee', 176.1]
slist1
slist1[0], slist1[2], slist1[4]
slist2 = [ ['Kim', 178.9], ['Park', 173.5], ['Lee', 176.1] ]
slist2
type(slist1)
type(slist2)
n_list = [200, 700, 500, 300, 400]
len(n_list)
max(n_list)
min(n_list)
sum(n_list)
sum(n_list) / len(n_list) # 전체의 합을 원소의 개수로 나누면 평균값을 얻을 수 있다
list(range(1,11))
a_list = [0, '']
any(n_list)
any(a_list)
# 인구 통계(단위: 천명)
Seoul = 9765
Busan = 3441
Incheon = 2954
city_pop = [ Seoul, Busan, Incheon ] # 변수들로 리스트 생성
print(city_pop) # 리스트 데이터를 출력
# <문제에서 제시된 코드를 여기에 삽입한다>
Daejeon = 1531
city_pop.append(Daejeon)
max_pop = 0
min_pop = 1000000
pop_sum = 0
n = 0
for pop in city_pop: # 순환문을 돌면서 최댓값, 최솟값을 구한다
if pop > max_pop :
max_pop = pop
if pop < min_pop :
min_pop = pop
pop_sum += pop
n += 1
print('최대 인구:', max_pop)
print('최소 인구:', min_pop)
print('평균 인구:', pop_sum / n)
letters = ['A', 'B', 'C', 'D', 'E', 'F']
letters[0] # 리스트의 첫 항목에 접근
letters[1]
letters[2]
letters[-1]
bts = ['V', 'RM', 'Jungkook', 'J-Hop', 'Suga', 'Jin', 'Jimin']
len(bts) # 리스트의 원소 개수를 얻는다
bts[len(bts)-1] # 마지막 원소
bts[-1] # 음수 인덱스로 마지막 원소를 쉽게 접근할 수 있다
min(bts) # 리스트 원소 중 가장 작은 값을 찾는다. (문자열은 사전식 순서)
max(bts) # 리스트 원소 중 가장 큰 값을 찾는다. (문자열은 사전식 순서)
letters = ['A', 'B', 'C', 'D', 'E', 'F']
letters[0]
letters[1]
letters[2]
letters[-1]
alist = ['a', 'aa', 'ff', 'f', 'b', 'c']
len(alist) # 리스트의 원소 개수를 얻는다
alist[len(alist)-1] # 마지막 원소
alist[len(alist)-1] # 마지막 원소
min(alist) # 리스트 원소 중 가장 작은 값을 찾는다. (문자열은 사전식 순서)
max(alist) # 리스트 원소 중 가장 큰 값을 찾는다. (문자열은 사전식 순서)
letters = ['A', 'B', 'C', 'D', 'E', 'F']
letters[2:5]
letters[:3]
letters[3:]
letters[:]
letters[::2]
letters[::-1] # 뒤에서부터 앞으로 읽어오며 원소를 생성한다
도시의 인구 자료에 대한 슬라이싱을 해보자
# 다음과 같은 리스트가 생성되어 있다.
population = ["Seoul", 9765, "Busan", 3441, "Incheon", 2954]
print('서울 인구:', population[1]) # 문제 1)
print('인천 인구:', population[-1]) # 문제 2)
cities = population[0::2] # 문제 3)
print('도시 리스트:', cities)
pops = population[1::2] # 문제 4)
print('인구의 합:', sum(pops))
slist = ['Kim', 178.9, 'Park', 173.5, 'Lee', 176.1]
slist[3] = 175.0
slist
slist[2:4] = ['Paik', 180.0]
slist
slist.insert(4, "Hong")
slist.insert(5, 168.1)
slist
bts = [ "V", "J-Hope", "Suga", "Jungkook" ]
bts.remove("Jungkook")
bts
bts = ["V", "J-Hope", "Suga", "Jungkook"]
last_member = bts.pop() # 마지막 항목 'Jungkook'을 삭제하고 반환한다
last_member
bts
bts = [ "V", "J-Hope", "Suga", "Jungkook"]
del bts[0] # 리스트의 첫 항목을 삭제하는 명령어
bts
alist = ['Kim', 'Park', 'Lee', 'Hong']
blist = alist
blist[1] = 'Choi' # blist의 두번째 항목값을 변경함
alist
id(alist)
id(blist) # 위의 값과 동일함
alist = ['Kim', 'Park', 'Lee', 'Hong']
blist = list(alist)
id(alist)
id(blist) # blist의 아이디는 alist의 아이디와 다를 것이다.
blist = alist[:] # 이렇게 하여도 된다.
id(alist)
id(blist) # blist의 아이디는 alist의 아이디와 다를 것이다.
blist[0] = 'Song'
alist # alist의 복사본 blist를 고쳤으므로 아무런 변화가 없다
blist # alist의 복사본의 첫 번째 항목이 변경됨
bts = [ "V", "J-Hope", "Suga", "Jungkook" ]
bts.index("Suga")
if "Suga" in bts:
print(bts.index("Suga"))
bts = ["V", "J-Hope", "Suga", "Jungkook" ]
for member in bts:
print(member)
numbers = [ 9, 6, 7, 1, 8, 4, 5, 3, 2 ]
numbers.sort()
print(numbers)
numbers.sort(reverse=True)
print(numbers)
bts = [ "V", "J-Hope", "Suga", "Jungkook" ]
bts.sort()
print(bts)
numbers = [ 9, 6, 7, 1, 8, 4, 5, 3, 2 ]
new_list = sorted(numbers)
print(new_list)
print(numbers)
numbers = [ 9, 6, 7, 1, 8, 4, 5, 3, 2 ]
new_list = sorted(numbers, reverse=True)
print(new_list)
sorted("FADEAWAY")
import random
quotes = []
quotes.append("꿈을 지녀라. 그러면 어려운 현실을 이길 수 있다.")
quotes.append("분노는 바보들의 가슴속에서만 살아간다..")
quotes.append("고생 없이 얻을 수 있는 진실로 귀중한 것은 하나도 없다.")
quotes.append("사람은 사랑할 때 누구나 시인이 된다.")
quotes.append("시작이 반이다.")
print("############################")
print("# 오늘의 명언 #")
print("############################")
print("")
dailyQuote = random.choice(quotes)
print(dailyQuote)
eval("100 + 200") # 문자열을 파이썬 문장으로 해석하여 100 + 200을 수행함
[ x**2 for x in [1, 2, 3, 4, 5] ]
s = []
for x in [1, 2, 3, 4, 5]:
s.append(x**2)
[x for x in range(10)]# 0에서 9까지 숫자를 포함하는 리스트
[x * x for x in range(10)] # 0에서 9까지 숫자의 제곱 값
st = 'Hello World'
[x.upper() for x in st] # 문자열 각각에 대해 upper() 메소드 적용
a = ['welcome', 'to', 'the', 'python', 'world']
first_a = [ s[0].upper() for s in a] # 첫 알파벳에 대한 대문자 변환
print(first_a)
[x for x in range(10) if x % 2 == 0]
[x**2 for x in range(10) if x % 2 == 0] # 출력식에 제곱을 할 수 있다
s = ["Hello", "12345", "World", "67890"]
numbers = [x for x in s if x.isdigit()]
print(numbers)
[int(x) for x in input('정수를 여러개 입력하세요 : ').split()]
[int(x) for x in input('정수를 여러개 입력하세요 : ').split() if x.isdigit()]
[(x, y) for x in [1, 2, 3] for y in [3, 1, 4]]
[(x, y) for x in [1, 2, 3] for y in [3, 1, 4] if x != y]
colors = ("red", "green", "blue")
colors
numbers = (1, 2, 3, 4, 5 )
numbers
t1 = (1, 2, 3, 4, 5)
t1[0] = 100
t1 = (1, 2, 3, 4, 5)
t1[0] # 튜플의 인덱싱-리스트 인덱싱과 동일한 방식
t1[1:4] # 튜플의 슬라이싱 결과로 튜플을 반환함
t2 = t1 + t1 # 튜플의 결합 연산
t2
LAB7-5 함수는 튜플을 돌려줄 수 있다
import math
def calCircle(r):
# 반지름이 r인 원의 넓이와 둘레를 동시에 반환하는 함수 (area, circum)
area = math.pi * r * r
circum = 2 * math.pi * r
return area, circum # 튜플을 반환함
radius = float(input("원의 반지름을 입력하시오: "))
(a, c) = calCircle(radius)
print("원의 넓이는 "+str(a)+"이고 원의 둘레는"+str(c)+"이다.")
city_info = [('서울', 9765), ('부산', 3441), ('인천', 2954),
('광주', 1501), ('대전', 1531)]
max_pop = 0
min_pop = 999999999999999999
total_pop = 0
max_city = None
min_city = None
for city in city_info:
total_pop += city[1]
if city[1] > max_pop :
max_pop = city[1]
max_city = city
if city[1] < min_pop :
min_pop = city[1]
min_city = city
print('최대인구: {0}, 인구: {1} 천명'.format(max_city[0], max_city[1]))
print('최소인구: {0}, 인구: {1} 천명'.format(min_city[0], min_city[1]))
print('리스트 도시 평균 인구: {0} 천명'.format(total_pop / len(city_info)) )
animals = ['lion', 'tiger', 'cat', 'dog']
animals.sort() # animals 리스트의 내부 문자열을 알파벳 순으로 정렬한다
animals
animals.append('rabbit') # animals 리스트에 새 원소를 추가한다
animals
animals.reverse() # animals 리스트를 원래 원소의 역순으로 재배열한다
animals