#count 리스트에서 특정 값의 갯수를 구함
a = [10,20,30,15,20,40]
print(a.count(20))
#reverse 쓰기
a = [10,20,30,15,20,40]
a.reverse()
print(a)
#sort는리스트의 요소를 작은순서대로 정렬
a = [10,20,30,15,20,40]
a.sort()#오름차순 값이 작은 순서대로 정렬 sort(reverse=False)와 같음
print(a)
a.sort(reverse=True)#내림차순 값이 큰 순서대로 정렬
print(a)
#sort 활용하여 리스트내의 최대 최소값 구하기
a = [10,20,30,15,20,40]
a.sort()
print('최소값 : ',a[0])
print('최대값 : ',a[-1])
#clear 리스트내의 모든 요소 삭제
a = [10,20,30,15,20,40]
a.clear()
print(a)
# del로 리스트내의모든 요소 삭제
a = [10,20,30,15,20,40]
del a[:]
print(a)
#리스트를 슬라이스로 조작하기
a = [10,20,30]
a[len(a):] = [500] #a.append(500)와 같음
print(a)
#요소가 여러개 들어있는 리스트를 할당할때 a리스트 끝에 다른리스트연결
a = [10,20,30]
a[len(a):] = [500,600] #a.extend([500,600])와 같음
print(a)
# 리스트를 다른 변수에 할당하면 리스트는 두개가될것 같지만 실제로는 리스트가한개임
a=[0,0,0,0,0]
b=a # a의주소지를 b로 옮김
print(a is b)# a와 b는 같음으로 요소를변경하면 a,b 모두에 반영됨
print(a)
print(b)
#리스트 a,b를 완전히 두개로 만들려면 copy로 모든 요소를 복사해야함
a=[0,0,0,0,0]
b=a.copy()
print(a is b) #False 둘은 같은 객체는 아님
print(a == b) #True 그러나 값은 같음
a = [38,21,53,62,19]
for i,v in enumerate(a):#index,value 값이 함꼐 출력
print(i,v)
a = [38,21,53,62,19]
for i,v in enumerate(a):
print(i+1,v) #인덱스 1부터 출력도 가능
a = [38,21,53,62,19]
for i,v in enumerate(a,start=1): # start=1 하면 인덱스 1부터 시작
print(i,v)
#20을 포함한 인덱스 표시하기
a=[10,20,30,40,20,50,20,30,60,70,20]
b=[]
for i,v in enumerate(a):
if v == 20:
b.append(i)
print(b)
a = [38,21,53,62,19]
i=0
while i < len(a):
print(a[i])
i+=1
a = [38,21,53,62,19]
largest=0
smallest=100000000
for i in a:
if i > largest:
largest=i
elif i < smallest :
smallest=i
print(largest)
print(smallest)
a = [38,21,53,62,19]
a.sort()
print(a[0])
a.sort(reverse=True)
print(a[0])
a = [38,21,53,62,19]
print(min(a))
print(max(a))
# sum 리스트안에 모든 값을 더해
a=[10,10,10,10,10]
b=0
for i in a:
b+=i
print(b)
print(sum(a))
while i <=10:
empty.append(i)
i+=1
numbers=[]
for i in range(10):
numbers.append(i+1)
print(numbers)
#홀수 제거하기
i = len(numbers)-1
while i >=0:
if numbers[i]%2==1:
del numbers[i]
i-=1
print(numbers)
#0번째 자리에 20삽입
numbers.insert(0,20)
print(numbers)
#20을 찾아서 제거
numbers.remove(20)
print(numbers)
#4가 있는 인덱스 출력
numbers.index(4)
#내림차순 정렬
numbers.sort(reverse=True)
print(numbers)
#리스트 표현식 리스트 안에 for, if문을 사용할수있음 이를 comprehension 이라함
a=[i for i in range(10)] #앞의 i 로 리스트를 생성
print(a)
b= list(i for i in range(10))
print(b)
a=[i for i in range(10) if i%2 ==0]
print(a)
b=[i for i in range(6,16) if i%2 ==0]
print(b)
b=[i+5 for i in range(10) if i%2 ==1]
print(b)
#리스트안에 구구단 만들기
gugudan=[i*x for i in range (2,10)
for x in range(1,10) ] #들여 쓰기도가능 가독성에 좋음
print(gugudan)
a=[1.2,2.5,3.7,4.6]
for i in range(len(a)):
a[i]=int(a[i])
print(a)
a=[1.2,2.5,3.7,4.6]
a= list(map(int,a))#map을 list로 언팩 해서 출력가
print(a)
a=list(map(str,range(10)))
print(a)
a=[map(str,range(10))]
print(a)
#리스트에 map 사용하기
q=list(map(int,'12345'))
w=list(map(float,'12345'))
e=list(map(str,'12345'))
print(q)
print(w)
print(e)
#시퀀스 객체는 이터레이터가 된다
x=input().split()
m=map(int,x)
a,b=m
print(a)#언팩
print(b)#언팩
print(m)
#같은 값이 여러개일경우 index 메소드는 처음 찾은 인덱스를 구함
a=(38,21,53,62,19,53)
print(a.index(53))
print(a.count(53))
for i in a:
print(i,end=' ')
i=0
while i < len(a):
print(a[i],end=' ')
i+=1
#반복문으로 튜플만들기
a = tuple(i for i in range(10) if i%2==0)
print(a)
#(i for i in range(10) if i%2==0)
#리스트에썻던것 처럼 map, 메소드 사용가
a = (1.2,2.5,3.7,4.6)
a = tuple(map(int,a))
print(a)
min(a)
max(a)
sum(a)
#문자열의 길이가 5인 것만 표
a= ['alpah','bravo','charlie','delta','echo','foxtrot','golf','hotel','india']
b=[i for i in a if len(i) == 5]
print(b)
b=[]
while True:
num1,num2=map(int,input('숫자 2개 입력').split())
if 0<num1<=20 and 10<num2<=30 :
for i in range(num1,num2+1):
a=2**i
b.append(a)
break
else:
print('잘못입력')
break
del b[1]
del b[-2]
print(b)
num1,num2=map(int,input('숫자 2개 입력').split())
if num1<1 or num1>20:
print('error1')
elif num2<10 or num2>30:
print('error2')
else:
b=[2**i for i in range(num1,num2+1)]
print(b)
del b[1]
del b[-2]
print(b)
ai_classes = {
'class01' : [#키1
{'name' : '서준', 'age' : 24},
{'name' : '하준', 'age' : 34},
{'name' : '도윤', 'age' : 37},
{'name' : '시윤', 'age' : 19},
{'name' : '은우', 'age' : 31}
],
'class02' : [#키2
{'name' : '지호', 'age' : 34},
{'name' : '예준', 'age' : 19},
{'name' : '동원', 'age' : 21},
{'name' : '민정', 'age' : 22},
{'name' : '효주', 'age' : 24}
]
}
#딕셔너리의키와 값중에 값이 리스트였고 리스트에 인덱스로 접근하니까또 딕셔너리가나옴
for keys in ai_classes:#키1,키2불러옴 -> 리스트 2개
for i in range(len(ai_classes[keys])):#리스트의 길이 전체에서 값을 다 뽑아옴
if ai_classes[keys][i]["age"]>=30:
print(ai_classes[keys][i]["name"],":", ai_classes[keys][i]["age"] ,end=" \t")
#내풀이 더 간단히 만들수도 있었음
import random
for x in range(10):
i=0
lotto=[]
while 7 > i:
num = random.randint(1,50)
lotto.append(num)
i+=1
if num not in lotto:
lotto.append(num)
else:
continue
lotto.sort()
print(lotto)
#로또 자동뽑기 만들기 답
import random
for x in range(10):
lotto=[]
while 7 > len(lotto):
num = random.randint(1,50)
if num not in lotto:
lotto.append(num)
lotto.sort()
print(lotto)
#random.sample 중복 없이 뽑기가능 random.choice 찾아보기
#2차원 리스트 가로 X 세로 형태행과 열 모두 0부터 시작
#리스트의 요소에 접근할때는 더 큰범위부터 작은범위로 접근
a = [[10,20],[30,40],[50,60]]
print(a[2][1])
#연습예제 for문
a = [[10,20],[30,40],[50,60]]
for i in a:
for x in i:
print(x,end=' ')
print()
a = [[10,20],[30,40],[50,60]]
for x,y in a:
print(x,y,end=' ')
print()
#len에서 인덱스값 접근하기
a = [[10,20],[30,40],[50,60]]
for i in range(len(a)):
for j in range(len(a[i])):
print(a[i][j],end=' ')
print()
#연습문제 while문
a = [[10,20],[30,40],[50,60]]
i=0
while i < len(a):
x,y=a[i]
print(x,y)
i+=1
a = [[10,20],[30,40],[50,60]]
i=0
while i < len(a):
j=0
while j < len(a[i]):
print(a[i][j],end=' ')
j+=1
print()
i+=1
#연습문제 위와 같은데요소만 한개씩 늘린거
a=[[1,2,3],[5,6,7],[8,9,10],[12,13,14]]
for i in range(len(a)):
x,y,z=a[i]
print(x,y,z,end=' ' )
print()
x=0
a=[[1,2,3],[5,6,7],[8,9,10],[12,13,14]]
i=0
while i < len(a):
x,y,z=a[i]
print(x,y,z,end=' ' )
print()
i+=1
# for반복문으로 2차원 리스트 만들기
a=[]
for i in range(3):
x=[]
for b in range(2):
x.append(0)
a.append(x)
print(a)
# [ '[1차원 리스트]' 2차원 리스트]
a=[[0 for j in range(2)] for i in range(3)]
print(a)
'''
#list 표현식연습문제 규칙이수열인줄 알고 해
a=[[0]* i for i in [3,1,3,2,5]]
print(a)
a=[3,1,3,2,5]
b=[]
for i in a:
line = []
for j in range(i):
line.append(0)
b.append(line)
print(b)
'First step > AI 기초반' 카테고리의 다른 글
[TIL]21.06.21 (0) | 2021.06.23 |
---|---|
[TIL]21.06.18 (1) | 2021.06.23 |
[TIL]21.06.16 (0) | 2021.06.23 |
[TIL]21.06.14 (0) | 2021.06.23 |
[TIL]21.06.11 (0) | 2021.06.23 |