Base/Python

[Python] 파이썬 기초 2 - 리스트(list)에 대한 정의와 기본적인 함수 사용법

반응형


# 파이썬 리스트
# 자료구조에서 중요하다
# 파이썬에는 배열이 존재하지 않는다
# 리스트에 들어가는 값은 1차원 자료구조로서 R = Vector 로 볼 수 있다.
# 순서 , 중복 , 수정, 삭제등이 가능하다
# index 사용 : 0 ~
# [] 이용하여 변수를 선언 할 수 있다.


# 선언

a = list()
a = []
a = [1, 2, 3]
a = [1, 2, "hello", 3, 4]
a = [1, 2, ["show", "me", "the", "money"], 3.14]




# 슬라이싱 가능

print(a[0]) # 1
print(a[-1]) # 3.14
print(a[2]) # ['show', 'me', 'the', 'money']
inner_list = a[2]
print(inner_list[1]) # me
print(a[2][1]) # me
print(a[2][2:]) # ['the', 'money']
print(a[2][1:3]) # ['me', 'the']




# list도 연산이 가능

a = [1, 2, 3]
b = [4, 5, 6]
print(a+b) # [1, 2, 3, 4, 5, 6]
c = a + b # [1, 2, 3, 4, 5, 6]
print(c, type(c)) # [1, 2, 3, 4, 5, 6] <class 'list'>

print("*" * 50) # **************************************************
a = [1, 2, 3]
print(a*3) # [1, 2, 3, 1, 2, 3, 1, 2, 3]

a[0] = 5
print(a) # [5, 2, 3]



# append() 값을 추가해주는 함수

a.append(4)
print("append 4:", a) # append 4: [5, 2, 3, 4]



# insert 는 해당 인덱스 값의 위치에 데이터를 넣어준다.

a.insert(0,6)
print("insert 6 - ", a) # insert 6 - [6, 5, 2, 3, 4]



# value.sort() - 해당 list를 정렬하는 함수

a.sort()
print(a) # [2, 3, 4, 5, 6]



# value.reverse() - 해당 list를 역순으로 정렬하는 함수

a.reverse()
print(a) # [6, 5, 4, 3, 2]
print(sorted(a)) # [2, 3, 4, 5, 6]
print(a) # [6, 5, 4, 3, 2]


# pop() - 기존 리스트에서 원소를 가져오고 삭제 시킨다.(list는 stack 같은 구조이다)

print("a - pop(): ", a.pop()) # a - pop(): 2
print("a - print : ", a) # a - print : [6, 5, 4, 3]


# extend() - 기존의 리스트에 데이터를 넣어준다.

ex = [4,3]
a.extend(ex)
print("a - print: ", a) # a - print: [6, 5, 4, 3, 4, 3]

 

# join() - 리스트에서 문자열로 변환한다.

interest = ['삼성전자', 'LG전자', 'Naver', "SK하이닉스", "미래에셋"]
print(interest, type(interest)) # ['삼성전자', 'LG전자', 'Naver', 'SK하이닉스', '미래에셋'] <class 'list'>

# 공백으로 연결된 출력
print("\n".join(interest)) # 삼성전자 , LG전자, Naver, SK하이닉스 , 미래에셋
print(type(" ".join(interest))) # <class 'str'>



# python sequence type range()
# range() : 숫자 sequence 주로 for ~ 사용

range_01 = range(10)
print("range - ", range_01) # range - range(0, 10)
range_02 = range(1, 11, 2)
print("range - ", range_02) # range - range(1, 11, 2) # 1부터 2의 간격으로 11까지를 범위로한다.(1,3,5,7,9)
print(7 in range_02) # True

 

 


# --------실습

movie_rank = ["강철비2", "반도", "다만 악에서 구하소서", "인셉션"]

# 1. 해당리스트에 배트맨을 추가
movie_rank.append("배트맨")
print(movie_rank) # ['강철비2', '반도', '다만 악에서 구하소서', '인셉션', '배트맨']

# 2. 강철비2 와 반도 사이에 슈퍼맨을 추가

movie_rank.insert(movie_rank.index("반도"), "슈퍼맨")
print(movie_rank) # ['강철비2', '슈퍼맨', '반도', '다만 악에서 구하소서', '인셉션', '배트맨']

# 3.리스트에서 인셉션을 삭제
movie_rank.remove("인셉션")
# del movie_rank[4]
print(movie_rank) # ['강철비2', '슈퍼맨', '반도', '다만 악에서 구하소서', '배트맨']

# 4.리스트에서 "다만악에서 구하소서"와 배트맨을 삭제
movie_rank.remove("다만 악에서 구하소서")
movie_rank.remove("배트맨")
# del movie_rank[3]
# del movie_rank[3]
print(movie_rank) # ['강철비2', '슈퍼맨', '반도']




# ---[실습2]

# 다음리스트에서 최댓값과 최솟값 및 총합, 평균을 출력하라
nums = [1, 2, 3, 4, 5, 6, 7]
print(max(nums)) # 7
print(min(nums)) # 1
print(sum(nums)) # 28
print(sum(nums)/len(nums)) # 4.0

# 리스트에 저장된 데이터의 개수를 화면에 구하라
cook = ["피자", "김밥", "만두", "양념치킨", "족발", "피자", "김치만두", "쫄면", "쏘세지", "라면", "팥빙수", "김치전"]
print(len(cook)) # 12

# price 변수에는 날짜와 종가 정보가 저장돼 있다.
# 날짜 정보를 제외하고 가격 정보만을 출력하라. (힌트 : 슬라이싱)
price = ['20180728', 100, 130, 140, 150, 160, 170]
print(price[1:]) # [100, 130, 140, 150, 160, 170]

# 슬라이싱을 사용해서 홀수, 짝수 출력하라.
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(nums[::2]) # [1, 3, 5, 7, 9]
print(nums[1::2]) # [2, 4, 6, 8, 10]

# 슬라이싱을 사용해서 리스트의 숫자를 역 방향으로 출력하라.
nums =[1, 2, 3, 4, 5]
print(nums[::-1]) # [5, 4, 3, 2, 1]
print(nums.reverse())
print(nums.sort(reverse=True))
print(nums)

# interest 리스트에는 아래의 데이터가 바인딩되어 있다.
# 삼성전자 , Naver 만 출력
interest = ['삼성전자', 'LG전자', 'Naver']
print(interest[0],interest[2]) # ['삼성전자', 'LG전자']
for i in interest:
if i == "삼성전자" or i == "Naver":
print(i)




반응형