데이터분석

[23.06.01] Python list, for, tuple, dict, if - 02(1)

gmwoo 2023. 6. 1. 12:21

1. 1일차 잠깐 복습 (변수 개념 및 선언 방법 , 입출력)

- 파이썬은 변수를 별도로 선언X

- 변수명은 영문자 및 _로 시작

- 파이썬은 대소문자를 구별

- 문자열의 경우 " " 또는 ' ' 로 처리 가능

- print 함수: 데이터 출력할 때 사용 

  > print(변수1, 변수2, 변수3)

  > print(str.format("%d %d %d" % (변수1, 변수2, 변수3)))

- int(정수형), str(문자열), float(실수)

 

2. 2일차 내용 (list, tuple, dict, if, for)

1. list

  - 배열, 하나의 메모리에 여러개의 데이터 저장 가능

  - 데이터 공간을 10개 만들었을 때, 0번부터 9번까지의 번호를 부여

예제 1) 리스트 기본 및 출력

# 리스트 - 배열, 하나의 메모리에 여러개의 데이터 저장 가능
nums = [1,2,3,4,5,6,7,8,9]
print(nums)
print(nums[0]) # 0번 방의 데이터만, 이것을 인덱싱이라고 함

nums[0] = [10] # 인덱싱을 이용한 값 변경
nums[1] = [20]
nums[2] = 30
print(nums)

# 위의 리스트 nums의 값들은 제거되고 새로운 값으로 저장
nums = [10, 20, 30] # 새로 메모리를 만들어서 10, 20, 30을 저장하므로 위의 리스트 사라짐
print(nums)

# 반복 처리
for n in nums:   # for 변수명 in 리스트타입 -> 데이터 차례대로 하나씩 옮김
    print(n)

 

예제 2) 인덱싱, 슬라이싱

words = ['school', "assembly", "chair", "hospital", 
         "desk", "rain", "rainbow"]
print(words)
print("데이터 개수: ", len(words))

# 인덱싱
print(words[0])
print(words[1])
print(words[2])

words[3] = "house"

# for 문을 이용해 전부 출력
for w in words:
    print(w)

# 슬라이싱 - 파이썬 이후로 등장하는 문법, 리스트변수[시작:종료:증감치]
print(words[0:3]) # 0,1,2 마지막을 제외하고 출력
# [0:3:1] 마지막 생략하면 디폴트 1
print(words[0:5:2]) # 0,2,4 번 방만 출력

print(words[6:3:-1]) # 6, 5
print(words[::-1]) # 6,5,4,3,2,1,0

print(words[6:-1:-1]) # 파이썬 버전에 따라 동작, 현재 버전은 출력 X

 

예제 3) append, remove, del

# 리스트에 데이터를 추가, 수정, 삭제

names = ["홍길동", "을지문덕", "강감찬"]

# 추가하기
names.append("서희")
names.append("윤관")
print(names)

# 수정
names[0] = "광개토대왕"
names[1] = "장수왕"
print(names)

# 삭제
names.remove("서희") # 내용을 찾아서 해당 내용이 있으면 첫번째 데이터 삭제
names.remove("강감찬")
print(names)

# 위치삭제
del names[0]
print(names)

 

예제 1, 2 3 적용)

# list 관련 문제
""""
 1. flower 변수에 다음 꽃들을 입력하세요.
 작약, 국화, 목련, 목단, 장미, 해바라기
 2. 0, 2, 4 번 데이터 출력하기 (인덱싱, 슬라이싱 둘 다 사용하기)
 3. 해바라기 => 백일홍으로 수정하기
 4. 사루비아, 맨드라미 두 종류 추가하기
 5. 목련 삭제
 6. 현재 데이터 개수 출력하기
 7. 마지막 데이터 삭제

"""
# 1번
flower = ["작약", "국화", "목련", "목단", "장미", "해바라기"]
print(flower)

# 2번
print(flower[0],flower[2],flower[4])
print(flower[0:5:2]) 

# 3번
flower[-1] = "백일홍" 
print(flower)

# 4번
flower.append("사루비아")
flower.append("맨드라미")
print(flower) 

# 5번
flower.remove("목련")
print(flower)

# 6번
print(len(flower))

# 7번
del flower[-1]
print(flower)

 

예제 4) 검색 - in, count

# 검색(search) - 데이터가 있는 곳의 위치를 찾는 것을 말함
# 선형검색, 이분검색, 해쉬검색
# 시스템이 제공하는 검색을 사용

fruits = ["사과", "참외", "오렌지", "바나나", "사과", "딸기", "사과", "포도", "배"]
# 단어 in 리스트:  해당 리스트에 단ㅇ어가 존재하면 True, 없으면 False 반환

print("사과" in fruits) # 사과라는 단어가 fruits 안에 있느냐 있으면 True 없으면 False 출력
print("망고" in fruits) # False

print(fruits.index("사과")) # 위치값 반환
# print(fruits.index("망고")) # 요소 없으면 에러, in연산자, count함수와 함께 사용

# count: 요소 개수를 출력
print(fruits.count("사과"))
print(fruits.count("망고"))
print(fruits.count("딸기"))
print(fruits.count("포도"))
반응형