파이썬 while문 리스트 만들기 - paisseon whilemun liseuteu mandeulgi

파이썬 while문 리스트 만들기 - paisseon whilemun liseuteu mandeulgi

#for 반복문으로 1차원 리스트 만들기

a = []    # 빈 리스트 생성
 
for i in range(10):
    a.append(0)    # append로 요소 추가
 
print(a)
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

#for 반복문으로 2차원 리스트 만들기

a = []    # 빈 리스트 생성
 
for i in range(3):
    line = []              # 안쪽 리스트로 사용할 빈 리스트 생성
    for j in range(2):
        line.append(0)     # 안쪽 리스트에 0 추가
    a.append(line)         # 전체 리스트에 안쪽 리스트를 추가
 
print(a)
[[0, 0], [0, 0], [0, 0]]

#리스트 표현식으로 2차원 리스트 만들기 (for문 줄이기)

a = [[0 for j in range(2)] for i in range(3)]
[[0, 0], [0, 0], [0, 0]]

#리스트 원소 개수만큼 리스트 만들기

a = [3, 1, 4, 3, 5]    # 가로 크기를 저장한 리스트
b = []    # 빈 리스트 생성
 
for i in a:      # 가로 크기를 저장한 리스트로 반복
    line = []    # 안쪽 리스트로 사용할 빈 리스트 생성
    for j in range(i):    # 리스트 a에 저장된 가로 크기만큼 반복
        line.append(0)
    b.append(line)        # 리스트 b에 안쪽 리스트를 추가
 
print(b)
[[0, 0, 0], [0], [0, 0, 0, 0], [0, 0, 0], [0, 0, 0, 0, 0]]

#리스트 표현식으로 표현해보기

a = [[0] * i for i in [3, 1, 4, 3, 5]]
[[0, 0, 0], [0], [0, 0, 0, 0], [0, 0, 0], [0, 0, 0, 0, 0]]

파이썬 while문 리스트 만들기 - paisseon whilemun liseuteu mandeulgi

● 스타트 파이썬 : 리스트

 Python에서 사용하는 리스트에 대해 배워보도록 하겠습니다.


1. 리스트

 리스트는 여러 개의 데이터 값을 하나의 변수, 즉 리시트에 담을 수 있는 데이터 구조입니다. 리스트의 요소들은 콤마( , )로 분리되어 대괄호( [ ] )로 둘러싸인 형태를 갖습니다.

# 리스트 구조
리스트명 = [데이터1, 데이터2, ... ]

> 1.1 리스트 생성과 읽기

# 1.1 예제
color = ['red','green','blur','black','white']

print (color[0])
print (color[2])
print (color[3])
파이썬 while문 리스트 만들기 - paisseon whilemun liseuteu mandeulgi
1.1. 예제 결과

> 1.2 list() 와 range() 함수로 리스트 생성

# 1.2 예제
num = list(range(1,21,2))
 
print(num)
print(num[3:7])
파이썬 while문 리스트 만들기 - paisseon whilemun liseuteu mandeulgi
1.2 예제 결과

 range() 함수를 사용하여 리스트를 작성할 때 range(시작값, 종료값, 증가(감소)폭)을 지정해주시면 됩니다. list() 함수는 리스트를 만들어주는 함수입니다.

> 1.3  for문에서 리스트 활용

# 1.3 예제
colors = ['빨강','노랑','초록','파랑','검정']

for color in colors :
    print( '나는 %s색을 좋아합니다'%color)
파이썬 while문 리스트 만들기 - paisseon whilemun liseuteu mandeulgi
1.3 예제 결과

> 1.4 while문에서 리스트 활용

# 1.4 예제

animals = ['사자','호랑이','사슴','곰']

i = 0

while i < len(animals):
    animal = animals[i]
    print ('나는 %s을(를) 좋아합니다'%animal)
    i = i + 1
파이썬 while문 리스트 만들기 - paisseon whilemun liseuteu mandeulgi
1.4 예제 결과

 len(리스트명)은 리스트의 길이(리스트안에 들어있는 값의 갯수)를 의미합니다. 1.4 예제에서는 리스트 안에 4개의 값이 있으므로 len(animals)은 4의 값을 가지게 됩니다.


2. 리스트 요소 추가와 삭제

 생성된 리스트에 요소를 추가하려면 append() 함수를 이용하고 리스트에서 요소를 삭제하는 데에는 revmow() 함수를 사용합니다. 덧셈 기호를 리스트에 사용하면 두 개 또는 여러 개의 리스트를 하나로 합칠 수 있습니다.

> 2.1 리스트의 요소 추가

# 2.1 예제
flower = ['무궁화', '장미', '개나리']
print (flower)

flower.append('벚꽃')
print(flower)
파이썬 while문 리스트 만들기 - paisseon whilemun liseuteu mandeulgi
2.1 예제 결과

 append() 함수를 이용하여 리스트에 요소를 추가해보았습니다. 이 함수는 ' 리스트명.append(추가할 요소값(명)) ' 구조로 사용하실 수 있습니다.

# 2.1.2 예제
s = []

while True :
    score = int(input('성적을 입력하세요 : '))
    
    if score == -1 :
        break
    else:
        s.append(score)
        
        

print('')        
print('%s'%s)
파이썬 while문 리스트 만들기 - paisseon whilemun liseuteu mandeulgi
2.1.2 에제 결과

 -1의 값이 나오면 while문에서 빠져나오도록 break를 걸고, 그 외의 값에 대해서는 점수를 입력받을 때 마다 append() 함수를 사용하여 s 라는 리스트에 요소로 추가되도록 코드를 작성해주었습니다.

> 2.2 요소 합치기

# 2.2 예제
person1 = ['kim',24,'']
person2 = ['lee',35,'']

person = person1 + person2

print(person)
파이썬 while문 리스트 만들기 - paisseon whilemun liseuteu mandeulgi
2.2 예제 결과

 덧셈 기호(+)를 사용하여 리스트 person1과 person2에 있는 요소를 하나의 리스트에 넣어 합쳐주는 코드를 작성하였습니다.

> 2.3 요소 삭제

# 2.3 예제
member = ['황지웅', 20, '경기도 김포시', '', '1234-5678']
print(member)

member.remove(20)
print(member)
파이썬 while문 리스트 만들기 - paisseon whilemun liseuteu mandeulgi
2.3 예제 결과

 remove() 함수를 사용하여 리스트에 있는 요소를 제거하는 코드를 작성하였습니다. 이 함수는 append()와 사용방법이 동일하여 쉽게 사용하실 수 있습니다.


3. 2차원 리스트

 2차원 리스트는 리스트의 각 요소의 가각이 하나의 리스트 형태를 가집니다.(이중 리스트같은 거라고 생각하시면 됩니다)

> 3.1 2차원 리스트의 구조와 인덱스

# 예제 3.1
numbers = [[10,20,30],[40,50,60,70]]

print(numbers[0][0])
print(numbers[0][1])

print(numbers[1][0])
print(numbers[1][2])
파이썬 while문 리스트 만들기 - paisseon whilemun liseuteu mandeulgi
3.1 예제 결과

> 3.2 이중 for문

# 예제 3.2
numbers = [[10,20,30],[40,50,60,70]]

for i in range(len(numbers)) :
               for j in range(len(numbers[i])) :
                   print('numbers[%d][%d] = %d'%(i,j,numbers[i][j]))
               
파이썬 while문 리스트 만들기 - paisseon whilemun liseuteu mandeulgi
3.2 예제 결과

> 3.3 합계와 평균 구하기

# 예제 3.3 
scores = [[85,65,97],[87,75,43],[87,96,38],[97,45,75],[24,65,59]]
          
for i in range(len(scores)) :
    
    sum = 0
    
    for j in range(len(scores[i])) :
        
        sum = sum + scores[i][j]
        
    avg = sum / len(scores[i])
    
    print('%d번째 학생의 합계 : %d, 평균 : %.2f'%(i+1,sum,avg))
파이썬 while문 리스트 만들기 - paisseon whilemun liseuteu mandeulgi
3.3 예제 결과

 이중 for문을 이용하여 합계와 평균을 구하도록 작성한 코드입니다. 먼저 scores 리스트에 5개의 리스트를 넣어주고 그 안에 각 3개의 요소를 넣어줍니다. 여기서 첫번째 for문에서 변수 i 는 0,1, .. , 4 ( len(scores) 가 5이므로 ) 의 값을 가지게 됩니다. 두번째 for문에서 변수 j는 0, 1, 2 ( len(scores[i] 가 3의 값을 가지므로 ) 의 값을 가지게 됩니다. 마지막으로 print 문에서 값을 가져올 때 ~번째 학생에서 그냥 i를 사용하면 0번째 부터 시작되므로 +1의 값을 해줍니다.

> 3.4 문자열 다루기

# 예제 3.4
strings = [['잠자리','풍뎅이','여치'],['짜장면','파스타','피자','국수']]

for i in range(len(strings)) :
    
    for j in range(len(strings[i])) :
        print('%s'%strings[i][j])
        
    print(' ')
    print(' ')
파이썬 while문 리스트 만들기 - paisseon whilemun liseuteu mandeulgi
3.4 예제 결과

 계속해서 배워왔던 리스트를 가지고 이중 for문을 하는 작업입니다. 앞에서 숫자로 했던 방법과 동일하게 코드를 작성해주시면 됩니다.


 다음 시간에는 튜플과 딕셔너리를 배워보도록 하겠습니다. 끝까지 봐주셔서 감사합니다 :)