본문 바로가기
프로그래밍 언어/python

24.02.16 정올 파이썬 리스트

by 피스타0204 2024. 2. 17.

1) 리스트 생성하기 & 리스트 출력하기

새로운 리스트를 생성하는 방법은 두가지가 있습니다.

 

첫번째, newList = []

 

두번째, list()함수 사용하기

newList = list(range(1,16))

range함수를 사용한다면 수열을 간단하게 리스트에 저장할 수도 있습니다.

n=int(input())
list1= list(range(n,0,-1)) #range(n,,-1)불가
print(list1)

리스트 전체를 리스트꼴로 출력할때▼

list = ['Salad', 'Pizza', 'Chicken', 'Soup']
print(list)

"""출력
['Salad', 'Pizza', 'Chicken', 'Soup']
"""

a=input('문자열을 입력하시오: ')
b=input('문자열을 입력하시오: ')
c=input('문자열을 입력하시오: ')
d=[a,b,c]
print(d)

"""출력
['재밌는', '자기주도', '파이썬']
"""

 

리스트 내 요소를 하나하나 출력할 때 ▼

list= ['민호','동혁','재욱']
for i in range(3):
    print(list[i])
    
"""출력
민호
동혁
재욱
"""

 

2) 리스트에 원소 추가

  • append : 원소 마지막에 추가
list = [1,2]
a = int(input())
list.append(a)
for i in range (2,-1,-1):
    print(list[i])
    
'''입력
-3
'''
"""출력
-3
2
1
"""

 

  • insert : 리스트.index(입력할index, 값)
>>> a = [1, 2, 3]
>>> a.insert(1, 5)
>>> a
[1, 5, 2, 3]
  • + 연산자로 더하기
>>> m = [2, 5, 7]
>>> n = [3, 5, 9]
>>> k = m + n
>>> k
[2, 5, 7, 3, 5, 9]
>>> k +=[11, 13]
>>> k
[2, 5, 7, 3, 5, 9, 11, 13]
list1=['철수', '동원', '호영']
list2=['영희', '이슬', '지혜']
newList=list1+list2
print(newList)
newList=newList*2
print(newList)

"""출력
['철수', '동원', '호영', '영희', '이슬', '지혜']
['철수', '동원', '호영', '영희', '이슬', '지혜', '철수', '동원', '호영', '영희', '이슬', '지혜']
"""
  • extend메소드 : 리스트.extend(추가할리스트)
>>> a = [1,2,3]
>>> a.extend([4,5,6])
>>> a
[1, 2, 3, 4, 5, 6]

출처:파이썬 기본을 갈고 닦자 https://wikidocs.net/16040

 

3) 문자열 리스트 변환 list()

문자열을 리스트로 변환하려면 list() 함수를 이용해야 합니다. 문자열(string)은 마지막에 개행문자 '\n'을 항상 포함하기 때문에 strip() 함수를 통해 제거해주어야 하는 경우가 있습니다.

a = input("String? ").strip()
k = list(a)
print(k)
print(k[2])

'''입력
String? Good!
'''
"""출력
['G','o','o','d','!']
o
"""

 

 

4)리스트 거꾸로 출력하기

리스트를 거꾸로 출력하는 데에는 3가지 방법을 사용할 수 있습니다.

 

첫번째 리스트 슬라이싱을 사용하는 것입니다. 가장 간단한 방법입니다.

 

#보통 L[1:10:2], L[:-1:1], L[::-1] 이런 식으로 쓰이며, 이는 세번째 인수를 뜻한다. 첫번째와 두번째가 시작점과 끝점이라면, 세번째는 간격(stride)을 나타낸다.

출처:파이썬의 이중콜론 의미https://sidosidopy.tistory.com/40

close = [46250, 46600, 47000, 46500, 45700, 45600, 45500, 45700, 45500, 45350]
reversed_close = close[::-1]

print(reversed_close)
"""출력
[45350, 45500, 45700, 45500, 45600, 45700, 46500, 47000, 46600, 46250]
"""

 

두번째로는 reverse 메서드를 사용하는 방법입니다. list1.reverse() 형태로 사용하고 원본의 형태를 변화시킵니다.

close = [46250, 46600, 47000, 46500, 45700, 45600, 45500, 45700, 45500, 45350]
close.reverse()

print(close)
"""출력
[45350, 45500, 45700, 45500, 45600, 45700, 46500, 47000, 46600, 46250]
"""

 

세번째는 문자열에서 사용하는 reversed() 내장함수입니다. 문자열 내장함수이기 때문에 list로 바꾸어 주어야 합니다.

close = [46250, 46600, 47000, 46500, 45700, 45600, 45500, 45700, 45500, 45350]
reversed_close = list(reversed(close))

print(reversed_close)
"""출력
[45350, 45500, 45700, 45500, 45600, 45700, 46500, 47000, 46600, 46250]
"""

 

정올 리스트 파이썬 #9534

list1 = ['Carrot', 'Onion', 'Cabbage', 'Potato', 'Sweet Potato', 'Bean']
print("첫 번째 원소:",list1[0])
print("마지막 원소:",list1[-1])
list2=list(reversed(list1))
print("리스트 거꾸로 출력하기:",list2)
print("li[2:5]:",list1[2:5])
print("li[5:2:-1]:",list1[5:2:-1])
print("li[1:6:2]:",list1[1:6:2])

"""출력
첫 번째 원소: Carrot
마지막 원소: Bean
리스트 거꾸로 출력하기: ['Bean', 'Sweet Potato', 'Potato', 'Cabbage', 'Onion', 'Carrot']
li[2:5]: ['Cabbage', 'Potato', 'Sweet Potato']
li[5:2:-1]: ['Bean', 'Sweet Potato', 'Potato']
li[1:6:2]: ['Onion', 'Potato', 'Bean']
"""

 

 

5) 리스트 슬라이싱

리스트도 range(시작, 끝, 간격) 처럼 슬라이싱을 통해 간격을 설정할 수 있습니다. 이것은 인덱스의 몇 배수를 출력하는데 자주 쓰입니다.

a=list(range(1,16))
b=int(input())
print(a[b-1::b])
'''입력
3
'''
"""출력
[3, 6, 9, 12, 15]
"""

 

3의 배수 인덱스 원소들을 리스트로 출력하기▼

a = input().split()
print(a[2::3])

'''입력
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
'''
"""출력
['3', '6', '9', '12', '15', '18']
"""
a = list(input().split())
list1=[]
n= len(a)
for i in range(2,n,3):
        list1.append(a[i])

print(list1)

 

6) split한 변수를 int로 저장하는 map함수

map은 리스트의 요소를 지정된 함수로 처리해주는 함수입니다. list(map(함수, 리스트))tuple(map(함수, 튜플)) 형태로 사용됩니다. map(int,input().split())형태로 사용하면 split한 입력값을 각각 정수형으로 저장할 수 있습니다.

a ,b= map(int,input().split())
cnt=0
if a<b:
    cnt=a
    a=b
    b=cnt
print("입력받은 수 중 큰 수는 %d 이고 작은 수는 %d 입니다."%(a,b))

'''입력
2 9
'''
"""출력
입력받은 수 중 큰 수는 9 이고 작은 수는 2 입니다.
"""