갓비니

PYTHON 05. 리스트 , 튜플, 딕셔너리 (교재 CH 07) 본문

Programming/Python

PYTHON 05. 리스트 , 튜플, 딕셔너리 (교재 CH 07)

갓비니 2020. 1. 6. 10:34

1) 리스트

① 생성

list1 = [10,20,30]

list2 = []

aa.append(10)

aa.append(20)

aa.append(30)

 

 

 

 

*len(list1)의 결과값 : 3

 

② 예시

 

<리스트 생성 후 총 합 구하기>

list=[]                    //자리가 하나도 없는 텅 빈 리스트 생성
for i in range(0,5):
    list.append(0)     //필수로 리스트 자리 만들어주기!
sum=0

for i in range(0,5):
    list[i]=int(input(str(i+1)+"번째 숫자"))  //int(input(입력하라고 할 때 쓸 설명문)) , str(숫자) -> 스트링으로 변경해줌
    sum=list[i]+sum  

print("합계=%d" %sum)

<리스트 짝수값으로 생성 후 역순으로 새 리스트에 넣기>

list1=[]
list2=[]
value=0

for i in range(0,100):
    list1.append(value)
    value+=2


for i in range(0,100):
    list2.append(list1[99-i])


print("list2[0]의 값 = %d, list2[99]의 값 = %d" %(list2[0],list2[99]))

<리스트 조작 함수 예시>

list1=[]
list2=[]
value=[10,20,30]

for i in range(0,10):
    list1.append(18-i*2)

print("현재 리스트=",str(list1)+"\n\n")


list1.append(999)
print("list1.append(999) 한 후 현재 리스트=",str(list1)+"\n")
list1.append(999)
print("list1.append(999) 한 후 현재 리스트=",str(list1)+"\n")

list1.append(100)
print("list1.append(100) 한 후 현재 리스트=",str(list1)+"\n")

list1.pop()
print("list1.pop() 한 후 현재 리스트=",str(list1)+"\n")

list1.sort()
print("list1.sort()한 후 현재 리스트=",str(list1)+"\n")

list1.reverse()
print("list1.reverse()한 후현재 리스트=",str(list1)+"\n")

list1.index(10)
print("list1.index(20)한 후 현재 리스트=",str(list1)+"\n")

list1.insert(3,999)
print("list1.insert(3,999)한 후 현재 리스트=",str(list1)+"\n")

list1.remove(999)
print("list1.remove(999)한 후 현재 리스트=",str(list1)+"\n")

list1.extend(list2)
print("list1.extend(list2)한 후 현재 리스트=",str(list1)+"\n")

print("list1.count(999)한 값 = %d"%list1.count(999)+"\n")

del(list1[5])
print("del(list1[5])한 후 현재 리스트=",str(list1)+"\n")


print("len(list1)한, 현재 리스트의 길이 : %d" %(len(list1))+"\n")

현재 리스트= [18, 16, 14, 12, 10, 8, 6, 4, 2, 0]


list1.append(999) 한 후 현재 리스트= [18, 16, 14, 12, 10, 8, 6, 4, 2, 0, 999]

list1.append(999) 한 후 현재 리스트= [18, 16, 14, 12, 10, 8, 6, 4, 2, 0, 999, 999]

list1.append(100) 한 후 현재 리스트= [18, 16, 14, 12, 10, 8, 6, 4, 2, 0, 999, 999, 100]

list1.pop() 한 후 현재 리스트= [18, 16, 14, 12, 10, 8, 6, 4, 2, 0, 999, 999]

list1.sort()한 후 현재 리스트= [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 999, 999]

list1.reverse()한 후현재 리스트= [999, 999, 18, 16, 14, 12, 10, 8, 6, 4, 2, 0]

list1.index(20)한 후 현재 리스트= [999, 999, 18, 16, 14, 12, 10, 8, 6, 4, 2, 0]

list1.insert(3,999)한 후 현재 리스트= [999, 999, 18, 999, 16, 14, 12, 10, 8, 6, 4, 2, 0]

list1.remove(999)한 후 현재 리스트= [999, 18, 999, 16, 14, 12, 10, 8, 6, 4, 2, 0]

list1.extend(list2)한 후 현재 리스트= [999, 18, 999, 16, 14, 12, 10, 8, 6, 4, 2, 0]

list1.count(999)한 값 = 2

del(list1[5])한 후 현재 리스트= [999, 18, 999, 16, 14, 10, 8, 6, 4, 2, 0]

len(list1)한, 현재 리스트의 길이 : 11

 

 

③ 첨자

list1=[1,2,3,4,5]

list1[-1]은 list1[5]와 같다.

list1[-2]는 list2[4]와 같다.

이 리스트에서는 list1[-5]까지 사용 가능한것이다.

 

④ 범위도 지정 가능!

list1=[1,2,3,4,5]라고 했을 때,

list1[0:4] --> [1,2,3,4] 출력

list1[2:5] --> [3,4,5] 출력

list1[3:] --> [4,5] 출력

list1[:4] --> [1,2,3,4] 출력

 

⑤ 더하기 및 상수곱도 가능!

list1=[3,2,1]

list2=[1,2,3]

list1+list2 --> [3,2,1,1,2,3] 출력

list1*3 -->[3,2,1,3,2,1,3,2,1] 출력

 

⑥ 내용 추가 및 삭제

list1=[3,2,1]

list1[0:2]=[1,2] --> [1,2,1] 됨.

list1[0]=[1,2] --> [[1,2],2,1]

 

del(list1[1])

 

 

 

특이사항

ー리스트는 각 칸마다 다른 자료형을 넣어도 된다.

ーappend() 함수를 쓰면 순차적으로 자료값을 넣게 됨