파이썬3

준혁·2023년 9월 5일
0
#인덱싱은 음의 정수도 가능
a= [1,2,3,4,5,6,7,8]
print(a[-1])

#리스트에서 연속적인 위치 한꺼번에 >> 슬라이싱 :
print(a[1:4])

#특정값으로 리스트 한번에 초기화 >> 리스트 컴프리헨션
# 대괄호 안에 조건문과 반복문

array = [i * i for i in range(1,10)]

'''
array = []
for i in range(1,10):
    array.append(i*i)
'''

#2차원 리스트 특정값으로 초기화
n=3
m=4
array = [[0]*m for _ in range(n)]
# _ 는 반복을 수행하지만 그 값을 무시하고 싶을때

a.append(3)

a.sort()
a.sort(reverse=True)
a.reverse()
a.insert("a",3)
a.count(3)
a.remove("a")
a.pop()

#리스트 특정값 모두 제거
a=[1,2,3,4,5,5,5]
remove_set = {3,5}

result = [i for i in a if a not in remove_set]


#파이썬에서는 "" 나 '' 모두 문자열임
#\ 를 이용하여 따옴표 안에 따옴표를 포함시킬 수 있음
# 문자열에 대해 인덱싱과 슬라이싱은 가능하지만 값을 바꾸지는 못함 , 문자열 + 은 문자열의 연결 , 문자열 변수를 양의 정수랑 곱하면 그만큼 복사

a= "Hello"
b= "World"
print(a+" "+b)
a="String"
print(a*3)
print(a[2:4])


#---------튜플과 리스트----------------
#튜플() vs 리스트[]
#튜플은 한번 초기화하면 값 변경 불가
#튜플은 리스트에 비해 기능이 제한적이라 공간 효율적
#튜플은 요솟값 변경 불가능해서 내장함수 없

#---------사전과 집합------------------
#사전 자료형 
#키와 값 쌍으로 데이터 가지는 / 순서와는 상관이 없음
#키는 변경 불가 , 키값으로 접근가능 (순서 없다보니 인덱싱,슬라이싱 불가능)
data = dict()
data['사과']='Apple'
or
data = {'사과':'Apple'}

#사전 자료형에 원소 있는지 없는지 확인
if '사과' in data:
    print("있")
    
#key값 별도 추출
data.keys()
#value값 별도 추출
data.values()
#value 값 하나씩 출력
for key in data.keys:
    print(data[key])
    
#집합
#중복,순서 X
#특정 데이터가 이미 등장한적이 있는지 확일할때 효과적
data= set([1,1,2,3,4,5,5])
data = {1,1,2,3,4,5}

#C,java에서의 논리연산자 || && ! 혹은 비트연산자와 다르게 파이썬은 집합에서만 | & - 를 지원
#집합 내부함수
data.add(4) #값 1개 추가
data.update([4,5,6]) #여러개 추가
data.remove(2)

#--------------입출력-------------
#input() 한줄의 문자열 입력받는 함수 >> 무조건 문자열로 받기때문에 입력값을 정수형으로 쓰고싶으면 int() 필요
#map() 리스트의 모든 원소에 각각 특정한 함수를 적용할때 사용 >> 리턴은 map객체로
#split() 인자를 기준으로 구분해서 리스트로 만듦
#공백 기준으로 구분된 데이터 입력
list(map(int,input().split()))
n=int(input())
data = list(map(int,input().split()))
data.sort(reverse=True)

a,b,c=map(int,input().split()) #각각 따로 한번에 담기

#파이썬 버전 빠른 입력
#sys 라이브러리에 있는 sys.stdin.readline() 
#대신 얘는 엔터까지 같이 입력되어서 rstrip()로 엔터 제거해줘야함
import sys
data = sys.stdin.readline().rstrip()

#표준 출력
#print는 기본적으로 수행 이후 자동으로 줄바꿈, 원치않으면 end 속성 이용
#sep속성을 이용하여 구분자 사용 가능
#각 변수를 콤마를 이용하여 띄어쓰기 구분하여 출력가능
a=1
b=2
print(a,b)
print(7,end=" ") >> end="\n" 이 기본
print(5,6,sep=":") > 5:6
print(8,end=" ")
answer=7
print("정답은 "+str(answer)+"입니다.")
#결과
#1 2
#7 8 정답은 7입니다. 

#출력 포맷팅 
#1) 변수 포맷과 % 이용
print("A is %d" %a) //%d %s(문자열) %c(문자) %f
print("%d + %d = %d" %(a,b,c))
#2) .format 함수 이용
#3) f-string 포맷 이용
print(f"A is {a}")
# 포매팅 주의 >> 실수형 포맷팅시 자동으로 반올림
#파이썬은 수학의 부등식 그대로 사용 가능
#즉 0<x<20 과 같이 x>0 and x<20으로 안해도 됨
profile
멍청한 나를 위해 쉽게 풀어쓴 개발 기술블로그

0개의 댓글