728x90
#컬렉션형(collection형), 자료구조 : 여러개의 데이터를 담아놓은 구조의 변수(객체)
#컬렉션의 종류 : 리스트(list),튜플(tuple), 세트(set), 딕셔너리(dictionary)
#1.순서 자료구조(sequence data structure) : 순서가 있고 색인(index)로 요소를 찾을 수 있다.
#2.비순서 자료구조(non sequence data structure) : 순서가 없고고 색인(index)로 요소를 찾을 수 없다.
#1.순서 자료구조(sequence data structure) : str(문자열), 리스트(list), 튜플(tuple)
#1-1) 문자열(str클래스) : 문자열을 담은 변수
str_var2 = "Hello Python"
print("str_var2 = ", str_var2)
print(type(str_var2))
#[0]
#Hello Python
print("str_var2[0] = ",str_var2[0])# H만 추출
print("str_var2[0] = ",str_var2[:])#전부 추출
print("str_var2[0] = ",str_var2[1:])#두번째 문자로 부터 모두 추출
print("str_var2[0] = ",str_var2[:4+1])#5번째 문자까지 추출
print("------------------")
#1-2)리스트(list)
#형식) 변수명(객체명) = [요소값1, 요소값2....]
#형식) 변수명 = list()
#1-2-1) 단일 리스트
lst = [1,2,3,4,5] #생성
print("lst = ", lst )
print("lst 자료형 = ", type(lst) )
print("------------------")
for i in lst:
print("i = ", i)
print("------------------")
#1-2-2) 중첩 리스트 : 리스트 내의 리스트
a = ['a','b','c']
print("a = ", a )
# [0] [1] [2] [3] [4] [5]
b = [10,20, a, 5, True,'문자열']
print("b = ", b )
print("------------------")
print("b[0]", b[0])
print("b[2]", b[2])
#중첩된 리스트내의 항목을 추출 형식) 변수명[바깥리스트 색인 번호][안쪽리스트색인번호]
print("b[2][0]", b[2][0])
print("b[2][1]", b[2][1])
print("b[2][2]", b[2][2])
print("b[2][2]", b[2][1:])#b리스트의 2번째 요소의 a리스트의 2번째 위치부터 추출('b','c')
print("------------------")
#1-2-3) 리스트내의 데이터 다루기
#(1) 단일 리스트 생성
num = ["one",'two','three','four']
print("num = ", num)
print("num 요소의 개수 = ", len(num))
print("------------------")
#리스트 요소 추가
num.append('five') #마지막 위치에 추가 된다.
print("num = ", num)
print("------------------")
#리스트 요소 삭제
num.remove('five') #데이터 값을 지정해서 삭제
print("num = ", num)
print("------------------")
num.pop()#마지막 요소값을 삭제
print("num = ", num)
print("------------------")
del num [1:] #한번에 여러개의 요소값 삭제(색인번호로 삭제) : [색인번호]
print("num = ", num)
print("------------------")
#****리스트 요소값 수정하기
num[0] = 100
print("num = ", num)
print("------------------")
#리스트의 요소 삽입(위치를 지정해서 요소값을 추가)
num.insert(0,'zero')
print("num = ", num)
print("------------------")
#리스트의 확장 : 리스트에 여러개의 요소들을 동시에 추가한다.
x = [1,2,3,4]
y = [1.5,2.5]
x.extend(y)#여러요소 추가
print("x = ", x)
print("------------------")
x.extend([3.5,4.5,5.5])#여러요소 직접추가
print("x = ", x)
print("------------------")
x.append(y)#중첩 리스트 형식으로 추가됨
print("x = ", x)
print("------------------")
x.append([100,500,200.5])#중첩 리스트 형식으로 직접추가
print("x = ", x)
print("------------------")
#리스트 복사 : 새로운 리스트로 복사
result1 = [] #빈리스트 생성
z = [10, 30, 25, 3.14, 100, 50, 84, 1.5]
result1 = z.copy()
print("result1 = ", result1)
print("------------------")
#리스트 정렬
result1.sort()#오름차순 정렬(작은값 ~ 큰값)
#result1.sort(reverse = False)
print("result1 = ", result1)
print("------------------")
result1.sort(reverse= True)#내림차순 정렬(큰값 ~ 작은값)
print("result1 = ", result1)
print("------------------")
#리스트 요소 검사(멤버쉽 연산자) -> in, not in
print(10 in result1)#요소값이 리스트내에 있는지 검사
print(110 in result1)
#리스트 예제 - 1)
hobbies = []
while True:
hobby = input("취미를 입력하세요 (종료는 그냥 Enter)>>>")
if hobby == '':
print("입력ㄷ된 취미가 모두 저장되었습니다.")
break
else:
hobbies.append(hobby)
print("hobbies = ", hobbies)
#정수를 입력받은 뒤 그 숫자만큼 도시이름을 입력을 받고 리스트에 저장하는 프로그램 작성
list1 = []#빈 리스트생성
#입력받은 숫자 생성
num2 = int(input("정수 입력 >>"))
for i in range(num2): # 넣은 숫자 까지 정수 생성
city = input(f"{i +1 }번째 도시 이름을 입력하세요 >>")
list1.append(city)
print("저장된 도시이름 list1 = ",list1)
반응형
댓글