phython - 기초 공부 내용 정리(list)

홍준성·2022년 5월 29일
0

python 기초 공부

목록 보기
5/12

dataList = [1, 2, 3]

값 넣기

  1. 추가
    dataList.append(4)
    결과 : [1, 2, 3, 4]

  2. 삽입
    dataList.insert(인덱스번호, 값)
    dataList.insert(1, 1.5) >> 리스트 2번째자리(0, 1)에 1.5를 추가한다. = 현재 2 자리에 1.5를 넣고 나머지는 한 칸씩 뒤로 넘긴다.
    결과 : [1, 1.5, 2, 3]

값 삭제

  1. remove
    dataList.remove(값)
    [1, 2, 3, 1].remove(1)
    결과 : [2, 3, 1] >> 리스트는 왼쪽에서부터 값을 읽고, remove는 모든 항목이 아닌 하나를 지워준다.

  2. del
    del dataList[인덱스번호]
    del dataList[1]
    결과 : [2, 3]

  3. clear
    모든 값 삭제
    dataList.clear()


값 검색

dataList.index(값)
dataList.index(3)
결과: 2

  • 3이라는 값이 리스트에서 0, 1, 2번째 이므로 2가 나옴
  • 중복 시 좌에서 우 방향으로 가장 먼저 만난 값의 인덱스 번호를 가져온다.

dataList[-n] : 리스트 뒤에서부터 n번째 값 가져오기
dataList[0:3] : 리스트의 0번째부터 3번째 '전'까지(0부터 2번째까지)


값 수정

dataList[인덱스번호] = 새로운 값
dataList[0] = 10
결과 : [10, 2, 3]

List 예제

  1. 1~100까지 값 넣고 출력하기
  2. 1~100까지 중 짝수만 넣고 출력
  3. A~F까지 넣고 출력
  4. A~F까지 중 C 제외하고 출력
  5. aBcDeFgHiJkLmNoPqRs...Z 넣고 출력
  6. "ABC"에서 B를 Z로 변경하기
  7. 자연수를 한글로 변경하기 (예)1024 → 일공이사
  8. min 활용해서 문제 풀기

1. 1~100까지 값 넣고 출력하기

dataList = []
for i in range(100)
	dataList.append(i+1)
    
>> 그런데 리스트에 몇 칸이 들어가는지 알 경우에는 이런식으로 하기 보다는 List에 칸 수만큼 미리 만들어놓고 하는 것이 좋음

dataList = [0] * 100

for i in range(100) :
	dataList[i] = i + 1
print(dataList)

2. 1~100까지 중 짝수만 넣고 출력

dataList = [0] * 50
for i in range(len(dataList):
	dataList[i] = (i+1) * 2
print(dataList)

3. A~F까지 넣고 출력

dataList = []
for i in range(6) :
	dataList.append(chr(65+i)
print(dataList)

4. A~F까지 중 C 제외하고 출력

dataList = [""]*5
temp = 0
// temp라는 변수를 쓴 이유는 dataList[5]의 값은 존재하지 않아 오류가 생기기 때문
for i in range(len(dataList)):
	temp = i
    if temp >1 :
    	temp +=1
    dataList[i] = chr(65+temp)
print(dataList)

5. aBcDeFgHiJkLmNoPqRs...Z 넣고 출력

dataList = [""] * 26

for i in range(len(dataList)):
	if i%2 == 0 :
    	dataList[i] = chr(97 + i)
        
    else:
    	dataList[i] = chr(65 + i)
        
for i in dataList:
	print(i, end="")

6. "ABC"에서 B를 Z로 변경하기

strList = "ABC"
strList = strList.replace("B", "Z")
print(strList)

7. 자연수를 한글로 변경하기 (예)1024 → 일공이사

num = int(input("자연수 입력: "))
hangle = "공일이삼사오육칠팔구"

//어떤 숫자의 첫째 자리 값을 구하려면 해당 숫자를 10으로 나눈 나머지를 작성하면 됨
//10으로 나눴을 때의 몫을 다시 10으로 나눈 나머지는 둘 째 자리의 값이 나오고, 계속 반복하면 전체 숫자가 나옴

while num != 0:
	//값이 거꾸로 입력이 되기 때문에 result를 한 번 더 더해주어 값을 뒤집어야함(여기서 +result는 숫자 더하기가 아니라 텍스트 붙이기로 이해하면 됨)
	result += hangle[num % 10] + result
    num = num // 10       -> 몫을 구하는 식(//)
    
print(result)

8. min 활용해서 문제 풀기

exam 점수에서 100점 이하인 점수는 5점씩 올려라
단, 100점이 최대 점수로 그 이상 점수가 올라갈 수는 없다.

exam = [99, 78, 100, 91, 81, 85, 54, 100, 71, 50]

score = [min(n+5, 100) for n in exam]
print(score)
profile
준성이의 개발자 공부 velog

0개의 댓글