본문 바로가기
Language/Python

[Python] 리스트 (1) / 예제로 공부하는 Python 100 문제풀이

by 애기 개발자 2022. 1. 21.
반응형

리스트는 앞서서도 다뤄봤지만 이번편에 자세히 다뤄보도록 하자.

 

이전 글

2022.01.04 - [개발/Python] - [Python] 자료형, list, tuple, set, dict

 

[Python] 자료형, list, tuple, set, dict

파이썬이 그렇게 핫해도 공부를 안하다가 이제서야 공부하는 파린이(?) 학부때 살짝 맛봤던 괄호의 종류에 따라 달라지던 리스트, 튜플, 집합, 딕셔너리에 대해서 보고왔다. 1. List 리스트는 [ ]

baby-dev.tistory.com

 

1. 리스트 사용법

 

#리스트 출력
a = [1, 2, 3, 4, 5]
print(a)
print(a[0])
'''
[1, 2, 3, 4, 5]
1
'''

선언한 변수에 [ ] 를 사용하여 안에 값을 넣는다.

 

각 값의 출력은 a[index] 를 사용하여 각 인덱스에 해당하는 값을 불러올 수 있다.

 

 

2. 리스트 내부 다른 타입

리스트 내부에는 다른 타입을 넣을 수 있다.

String, float, tuple, set, dict 등등 다른 타입도 리스트의 내부에 저장이 가능하다.

 

#리스트 내부 다른 타입
b = [[1,2,3,3], (1,2,3,3), {1,2,3,3}, {'a':1, 'b':2, 'c':3}]
print(b[0])
print(b[1])
print(b[2])
print(b[3])
print(len(b))
'''
[1, 2, 3, 3]
(1, 2, 3, 3)
{1, 2, 3}
{'a': 1, 'b': 2, 'c': 3}
4
'''

 

위에서부터 순서대로 보자면

b[0] 는 리스트 안에 리스트

b[1] 은 리스트 안에 튜플

b[2] 는 리스트 안에 집합

b[3] 는 리스트 안에 딕셔너리

 

각 인덱스 별로 해당 값을 출력하면 선언한 그대로 출력되는것을 알 수 있다.

 

리스트 내부 타입별로 출력은 

 

#리스트 내부 타입의 인덱스
print(b[0][2])
print(b[1][2])
'''
3
3
'''

위와 같이 선언한 각 타입의 내부 인덱스를 별도로 선언하여 출력이 가능하다.

 

b[0] -> [1, 2, 3, 3] 이고

[1, 2, 3, 3] 의 2번 index는 3이기 때문에 3이 출력된다.

 

3. 역 인덱스, 거꾸로

리스트의 인덱스는 0 1 2 ... 순으로 출력이 가능하지만

 

혹여나 맨 뒤의 인덱스부터 출력하고싶을 수 있다.

 

맨 마지막 인덱스부터 -1 -2 ... 로 구성되어있다.

 

#역인덱스, 거꾸로
a = [1, 2, 3, 4, 5]

print(a[4])
print(a[-1])
'''
5
5
'''

 

4. 반복문을 이용한 출력

우리는 앞서 반복문도 공부를 했다.

 

안봤다면 보자

2022.01.14 - [개발/Python] - [Python] for 반복문

 

[Python] for 반복문

반복문다 거기서 거기일줄 알았다. 그렇지만 파이썬은 조금 달랐다. Araboja 1. 기본 사용법 for i in range(10): print(i) 별거 없다. 이렇게 쓴다. 다른 언어는 for( i = 0; i < 10; i++) 이런 느낌이고 java나..

baby-dev.tistory.com

 

이를 이용한 리스트의 출력은

 

#반복문
a = [1, 2, 3, 4, 5]

for i in range(len(a)):
    print(a[i], end=' ')
print()
'''
1 2 3 4 5
'''

 

5. 리스트 오름차순, 내림차순

오름차순 내림차순 정렬을 사용할 때는 

 

sort(), sorted() 함수를 사용한다.

 

sort() 는 해당 리스트를 그대로 정렬시켜주는것이고

 

sorted() 는 정렬된 값을 다른 변수에 별도로 저장해주어야 한다. (원본 유지)

참고로 list 외의 다른 타입은 sorted() 를 사용해야 한다.

 

a = [3,5,4,1,2]
a.sort() #가능

a.sorted() # 불가능
b = sorted(a) # 가능

 sort() 에 대해서 자세히 보자면

 

#리스트 오름차순 내림차순
c = [100, 40, 70, 90, 60]
#sort(), sorted() 사용 -> 정렬은 기본이 오름차순
c.sort()
print(c)
'''
[40, 60, 70, 90, 100]
'''

c.sort(reverse=True)
print(c)
'''
[100, 90, 70, 60, 40]
'''

c.sort() 를 하는 시점에서 c에 있는 값들은 자동으로 오름차순이 된다.

 

c.sort(reverse=True) 를 하면 내림차순으로 정렬이 된다.

 

번 외로 역 인덱스를 이용한 출력은

 

for i in range(-5, 0, 1):
    print(c[i], end=' ')
print()
'''
100 90 70 60 40
'''

 

 

더보기
더보기
# 11 리스트

#리스트 출력
a = [1, 2, 3, 4, 5]
print(a)
print(a[0])
'''
[1, 2, 3, 4, 5]
1
'''
#리스트 내부 다른 타입
b = [[1,2,3,3], (1,2,3,3), {1,2,3,3}, {'a':1, 'b':2, 'c':3}]
print(b[0])
print(b[1])
print(b[2])
print(b[3])
print(len(b))
'''
[1, 2, 3, 3]
(1, 2, 3, 3)
{1, 2, 3}
{'a': 1, 'b': 2, 'c': 3}
4
'''

#리스트 내부 타입의 인덱스
print(b[0][2])
print(b[1][2])
'''
3
3
'''

#역인덱스, 거꾸로
print(a[4])
print(a[-1])
'''
5
5
'''

#반복문
for i in range(len(a)):
    print(a[i], end=' ')
print()
'''
1 2 3 4 5
'''

#리스트 오름차순 내림차순
c = [100, 40, 70, 90, 60]
#sort(), sorted() 사용 -> 정렬은 기본이 오름차순
c.sort()
print(c)
'''
[40, 60, 70, 90, 100]
'''
c.sort(reverse=True)
print(c)
'''
[100, 90, 70, 60, 40]
'''

#역 인덱스로 오름차순 내림차순 출력
for i in range(-5, 0, 1):
    print(c[i], end=' ')
print()
'''
100 90 70 60 40
'''

 

 

 

11 리스트.py

 

반응형

댓글