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

240303. 정올 파이썬 리스트2

by 피스타0204 2024. 3. 4.

1. 리스트 생성하고 사용하기

1) 전체 길이를 모르는 리스트

빈 리스트에 인덱스를 이용해 요소를 추가하려 하면 out of range 오류가 발생합니다. 하지만 append 함수는 빈 리스트에도 추가할 수 있습니다.

 

newList = []

newList.append(요소)

 

정올 파이썬 #9585 ▼

n =[]
for i in range(5):
    n.append(input())
for i in range(5):
    print(n[i])

 

2) 전체길이를 알고 있는 리스트 혹은 수열

newList = list(range(1,16))

newList[인덱스] = 바꿀 요소값

 

2. 리스트 메소드

1) newList.reverse()

리스트를 역순으로 뒤집어 저장합니다. 리턴값이 none입니다.

파이썬 전체 내장 함수인 reversed(리스트)로는 원본은 수정하지 않고 역순 리스트를 반환합니다. reversed(뭐시기)는 문자열, 튜플, 리스트 만을 역순으로 반환합니다. 딕셔너리는 불가능합니다.

 

정올 파이썬 #902 ▼

n =[]
for i in range(5):
    n.append(input())
n.reverse()
for i in range(5):
    print(n[i])

 

2.1) newList.sort()

리스트를 오름차순으로 정렬합니다. 리턴값이 none입니다.

파이썬 내장 함수인 sorted(리스트) 는 원본은 수정하지 않고 오름차순된 리스트를 반환합니다.

 

2.2) sort(reverse=True)

리스트를 내림차순으로 정렬합니다. 원본을 수정합니다.

 

3) newList.index(찾을 문자)

index(x) 함수는 리스트에 x 값이 있으면 x의 인덱스 값(위칫값)을 리턴합니다. 만약 찾으려는 값이 리스트 안에 없으면 오류가 발생합니다.

n=  ['J', 'U', 'N', 'G', 'O', 'L']
a = input().strip()
if a in n:
    print(n.index(a))
else:
    print("none")

 

4)newList.count(찾을 문자)

count(x)는 리스트 안에 x가 몇 개 있는지 조사하여 그 개수를 리턴하는 함수입니다.

 

5) 문자열.find("문자열")

문자열A.find("문자열B") 해서 문자열 B가 문자열 A안에 있다면 첫번째 인덱스를 없다면 -1을 반환합니다.

cnt=0
listn=[]
while(True):
    n= input().strip()
    if(n=='0'):
        break
    cnt +=1
    if n.find("mo") >=0:
        listn.append(n)
print(cnt)
for i in listn:
    print(i)

 

+a)

 

02-3 리스트 자료형

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

wikidocs.net

 

3.  리스트와 인덱스

리스트 안의 요소를 건드릴 때는 for i in 리스트: 를 사용할 수 있습니다.

 

정올 파이썬 #9586▼

listtt=["champion", "tel", "pencil", "jungol", "olympiad", "class", "information", "lesson", "book", "lion"]
que=input("문자를 입력하세요. ")
for i in listtt:
    if i[0]==que:
        print(i)

 

정올 파이썬 #903 ▼

listn = []
for i in range(10):
    listn.append(input().strip())
a= input().strip()
for i in listn:
    if(i[-1] == a):
        print(i)

 

4. 리스트 와 숫자

1)max(리스트) , min(리스트)

n = map(int, input().split())
print(max(n))

 

sorted 를 사용하여 최대, 최소를 구하는 방법▼

추천하지는 않지만 가볍게 참고하면 좋은 풀이입니다.

n = [int(i) for i in input().split()]
even = sorted([i for i in n if i % 2 == 0])
odd = sorted([i for i in n if i % 2 != 0])
print(even[-1], odd[0])

 

5. 리스트가 비어있는지 확인

len(리스트) ==0 을 이용해 리스트가 비어있는지 확인합니다.\

 

정올 파이썬 #906▼

over=[]
under=[]
n =list(map(int, input().split()))
for i in n:
    if i <100:
        under.append(i)
    elif i >=100:
        over.append(i)
if len(under) ==0:
    m=100
else:
    m=max(under)
if len(over)==0:
    n=100
else:
    n=min(over)
print(m,n)

 

6. +a

입력한 년도의 월 말일 구하기 ▼

while(True):
    year = int(input("YEAR = "))
    month =int(input("MONTH = "))
    if(month==0):break
    elif month ==1 : n= 31
    elif year%4==0 and month ==2 :n = 29
    elif month ==2 : n=28
    elif month ==3 : n=31
    elif month ==4 : n=30
    elif month ==5 : n=31
    elif month ==6 : n=30
    elif month ==7 :n=31
    elif month ==8 : n=31
    elif month ==9 : n= 30
    elif month ==10 : n= 31
    elif month ==11 : n=30
    elif month ==12 : n=31
    else :
        print("잘못 입력하였습니다.")
        continue
    print("입력하신 달의 날 수는 %d일입니다."%n)

'프로그래밍 언어 > python' 카테고리의 다른 글

2805: 이진탐색- 나무 자르기  (0) 2025.03.26
240304. 정올 파이썬 리스트3  (0) 2024.03.07
24.02.26 정올 문자열  (0) 2024.03.01
10 미만의 홀수만 출력  (0) 2024.02.24
24.02.18 정올 반복제어문  (1) 2024.02.24