python 문자열

도리·2025년 1월 9일

[python]기초

목록 보기
2/8

type casting

  • int
  • float
  • str
  • bool

bool

→ 0 이 아닌 모든 수는 TRUE

True ⇒ 1

False ⇒ 0

  • bool 도 연산이 가능하다.

Parsing

:: 문자열을 다른 자료형으로 바꾸는 과정

“9.43” → float() 가능

“ 9.43” → float() 가능

“9.43점” → float() 불가능

movie1_score = float(movie)
movie2_score = float(movie2.strip())
movie3_score = float(moive3[:-1])

이렇게 처리하면 된다.

컬렉션 DT

: 존재하는 모을 수 있는 모든 것을 모은 것

LIST []

*문자열은 자료형 컬렉션 아님.

  • list
  • tuple
  • set
  • dic

Mutable vs Immutable

ex) list, tuple

list 안에 자료 접근

(1)
list1 = [1,2,3,"four",[6,7],7.0,True]
#7만 뽑기
list1[4][1]
>>7
 (2)
 # 문제 1)  랩 몬스터에서 몬스터만 추출
rapmon = list(BTS[3])
mon = rapmon[1:]
monster = ("").join(mon)
print(monster)

#쌤방법
print(BTS[3][1:])

# 문제 2)  [, 지민,, 정국]만 추출
jin = BTS[6]
jimin = BTS[4]
V = BTS[2]
jung = BTS[0]

answer2 = []
answer2.append(jin)
answer2.append(jimin)
answer2.append(V)
answer2.append(jung)
print(answer2)

#쌤방법
print(BTS[::-2])
  • 문자열도 sequence다.
  • 난 list로 빼내서 조작한 후 합치는 방법 생각함.
  • 그러나 문자열도 sequence임을 생각하면 인덱스로 두번 조작해도 가능하다.

이 함수들 적용시 내부 자체에서 변형됨.

조심해야함. 원본 찾을 수 없다.

Append()

list2.append(4) → list2 뒤에 4 추가 됨.

*추가 ≠ 병합 ≠ 더하기

pokemon1.append(pokemon2)

pokemon1.extend(pokemon2)

pokemon1 + pokemon2

→ Q. 뭐가 다를까! 정답은 코랩에

Sort()

  • list3.sort(reverse=True)

    > 내림차순 
  • str 요소도 sort가능. (아스키코드 순)

    A→a 순서로

Pop()

빼낸 후 삭제.

item = list1.pop()

item엔 꺼낸 값이, list1엔 item값 삭제

Tuple ()

수정 X.

단 tple[::-1]

(1,2,3) → (3,2,1) 바꿀 수 있음

문제1
"abcd" => "abfcd"로 바꿔보세요!!

>> 내 방법 
또 리스트로 나눠서 조작하고 합침

>> 쌤 방법
문자열도 sequence다!! slicing 이용하면 편함.

언패킹(UnPacking) ★★★★★

  • 모아놓은 item 풀기
#패킹 _ 모아놓기~ ex_ list에 아이템 추가하세요 어쩌구저쩌구
tup = (1,"two",3)
print(tup)
>> (1, 'two', 3)
#언패킹 _ 풀기.. 아이템>>분해<<
item1, item2, item3 = tup

print(item1, item2, item3)
>> 1 two 3

** unpacking시 item 개수와 tuple 요소수가 같아야 한다.

** 관례상 필요없는 변수 는 _ 처리

ex) item_1, , item2 = tup

Set - 집합 연산 {}

  • 교집합: intersection
  • 합집합: union
  • 차집합: difference

----------------------- (실제집합)

  • 부분집합 : issubset

-------------------------(여부)

A.intersection(B)
-> A의 기준으로 B와 중복되는 **집합 출력**
이런 느낌으로
A.union(B), A.difference(B) 등등 사용 가능

C.issubset(A)?
>> CA의 부분집합이니? 답은 **true/false로 출력**

Dict

⇒ { key : value } 꼴

  • key = set형태 저장. only 정수, 문자열
  • value = list형태 저장. 모든 dt가능
Q.value만 가져오기

Q.없는키 조회?

Q.dict에 데이터 추가/수정. (키 없/case나눠서)

Q. dict 1.key확인 2.value확인 3.key-value쌍 확인

→ 정답은 코랩에~ 04.컬렉션 데이터

.get()

→ city.get(”USA”,”없음”)

USA키가 없으면 없음이 출력되고 있으면 USA의 value값이 나옴

.keys()

.values()

.items()

컬렉션끼리의 type casting

list → tuple

tuple → list

sequence → set

dict → sequence ## key 만 출력된다.

list(city) ⇒ [’korea’,’canada’,’china’]

  • 문자열도 sequence = type casting가능
text= “hello”

list(text)

set(text) 의 결과를 예상해보자.!!
profile
인공지능응용학과 졸업예정..

0개의 댓글