🍚 리스트(list)

  • 리스트는 변수와 같이 하나의 정보가 아닌, 여러개의 정보를 주고 싶을때 사용한다.
  • 소수형, 정수형, 문자열 모두 쓸 수 있고 섞어 쓸 수도 있다

예시

💻 파이썬

grades = [2.45, 3.46, 4.30, 3.97, 2.67]	# 소수형
height = [178, 166, 162, 190, 180]	# 정수형
teams = ["Arsenal", "Tottenham Hotspur", 
         "Manchester United",   "Manchester City", "Chelsea"]  # 문자열
mix = [2.45, 178, "Arsenal"] # 자료형끼리 섞기

print(grades)
print(height)
print(teams)
print(mix)

👀 결과

[2.45, 3.46, 4.3, 3.97, 2.67] # 소수형
[178, 166, 162, 190, 180] # 정수형
['Arsenal', 'Tottenham Hotspur', 'Manchester United', 'Manchester City', 'Chelsea'] # 문자열
[2.45, 178, 'Arsenal'] # 자료형끼리 섞기

🍚 인덱싱(Indexing)

  • 데이터를 불러올 때는 인덱스(index) 번호로 불러오면 된다.
  • 리스트에서 인덱스는 0부터 시작한다.
  • 양수 인덱스 뿐만 아니라 음수 인덱스도 가능하다. 음수 인덱스는 -1부터 사용한다.
  • index 메소드를 이용하여 특정원소의 인덱스값을 알아낼 수 있다.

예시

💻 파이썬

grades = [2.45, 3.46, 4.30, 3.97, 2.67]
height = [178, 166, 162, 190, 180]
teams = ["Arsenal", "Tottenham Hotspur", "Manchester United",
         "Manchester City", "Chelsea"]
mix = [2.45, 178, "Arsenal"]

print(grades[1])    # 인덱스는 0부터 세기 때문에 grades 리스트에서 두번째 원소를 가져온다
print(height[0])   # 인덱스0은 height리스트 중 가장 앞에 있는 원소이다.
print(teams[-1])    # 인덱스 -1 은 마지막에서 첫번째 원소를 의미한다.
print(mix[-3])      # mix리스트에서  teams리스트 중 마지막에서 세번째, 즉 가장 첫번째 원소를 불러오란 의미이다.
print()

# 이런식으로 index메소드를 이용해서 원소의 인덱스를 알아낼 수도 있다.
print(grades.index(3.46))   # 3.46은 grades 리스트에서 인덱스1 이다.
print(height.index(190))    # 190은 height 리스트에서 인덱스3 이다.
print(teams.index("Chelsea"))   # "Chelsea"는 teams 리스트에서 인덱스4 이다.
print(mix.index(178))       # 178은 mix 리스트에서 인덱스1 이다.

👀 결과

3.46	# 인덱스는 0부터 세기 때문에 grades 리스트에서 두번째 원소를 가져온다
178	# 인덱스0은 height리스트 중 가장 앞에 있는 원소이다.
Chelsea	# 인덱스 -1 은 teams리스트 중 마지막에서 첫번째 원소를 의미한다.
2.45	# mix리스트에서 마지막에서 세번째, 즉 가장 첫번째 원소를 불러오란 의미이다.

# 이런식으로 index메소드를 이용해서 원소의 인덱스를 알아낼 수도 있다.
1	# 3.46은 grades 리스트에서 인덱스1 이다.
3	# 190은 height 리스트에서 인덱스3 이다.
4	# "Chelsea"는 teams 리스트에서 인덱스4 이다.
1	 # 178은 mix 리스트에서 인덱스1 이다.

🍚 슬라이싱(Slicing)

  • 슬라이싱을 이용하여 여러개의 원소를 불러올 수 있다.
  • 리스트[a, b] 까지 라면 a부터 시작해 b되기전까지의 원소를 불러온다.
  • [a:] 처럼 뒤를 생략하고 쓰면, 자동으로 a부터 리스트 끝까지 불러온다.
  • [:b] 처럼 앞을 생략하고 쓰면, 자동으로 처음부터 b의 전 원소까지 불러온다.

예시

💻 파이썬

grades = [2.45, 3.46, 4.30, 3.97, 2.67]
height = [178, 166, 162, 190, 180]
teams = ["Arsenal", "Tottenham Hotspur", "Manchester United",
         "Manchester City", "Chelsea"]
mix = [2.45, 178, "Arsenal"]

print(grades[0:3])    # 인덱스0 부터 인덱스3 되기 전까지 불러오라는 의미이다.
print(height[3:])   # 인덱스3부터 리스트 끝까지 불러오라는 의미이다.
print(teams[:3])    # 처음부터 인덱스3 되기 전까지 불러오라는 의미이다.
print(mix[:-1])      # 처음부터 마지막에서 첫번째 인덱스 까지 불러오라는 의미이다.

👀 결과

[2.45, 3.46, 4.3]
[190, 180]
['Arsenal', 'Tottenham Hotspur', 'Manchester United']
[2.45, 178]

🍚 리스트 안의 원소 개수 알아내기

  • len 함수를 통해 리스트 안의 원소의 개수를 알아낼 수 있다.
  • len 함수안에 문자열을 넣어주면 문자열 개수도 알아낼 수 있다.

예시

💻 파이썬

grades = [2.45, 3.46, 4.30, 3.97, 2.67]
height = [178, 166, 162, 190, 180]
teams = ["Arsenal", "Tottenham Hotspur", "Manchester United",
         "Manchester City", "Chelsea"]
mix = [2.45, 178, "Arsenal"]
word = "four"   # 변수 word

print(len(grades))    # grades 리스트의 원소의 개수를 알아내라는 의미이다.
print(len(height[3:]))   # height 리스트의 인덱스3 부터 끝까지의 개수를 알아내라는 의미이다.
print()

# len 함수로 문자열 개수 알아 내기
print(len('hello'))     #이런식으로 문자열의 개수를 알아낼 수 있다.
print(len(word))        # 변수 word 의 문자열의 개수를 알아낼 수 있다.
print(len(teams[1]))   # team 리스트의 인덱스1의 문자열의 개수를 알아내라는 의미이다.
print(len(mix[0]))      # len 함수로 문자열이 아닌 정수나 소수의 자리수를 알아낼 수 없다.

👀 결과

5
2

5
4
17
Traceback (most recent call last):
  File "C:\Users\최대환\PycharmProjects\pythonProject\venv\class.py", line 16, in <module>
    print(len(mix[0]))
TypeError: object of type 'float' has no len()

🍚 원소 추가하기

  • append 메소드를 이용하여 리스트 맨 마지막에 원소를 추가해 줄 수 있다.
  • insert 메소드를 이용하여 리스트 원하는 곳에 원소를 추가해 줄 수 있다.

예시

💻 파이썬

grades = [2.45, 3.46, 4.30, 3.97, 2.67]
height = [178, 166, 162, 190, 180]
teams = ["Arsenal", "Tottenham Hotspur", "Manchester United",
         "Manchester City", "Chelsea"]
mix = [2.45, 178, "Arsenal"]

grades.append(4.50)
print(grades)    # grades 리스트 맨 마지막에 4.50 이라는 원소르 추가해주라는 의미이다.

height.insert(3,200)
print(height)   # height 리스트의 인덱스3 자리에 200을 끼어넣으라는 의미이다.

teams.append("Liverpool")   # team 리스트의 맨 마지막에 "Liverpool"이라는 문자열을 추가해주라는 의미이다.
print(teams)

mix.insert(0, "hello")    # max 리스트 맨 앞에 "hello"라는 문자열을 끼어넣으라는 의미이다.
print(mix)

👀 결과

[2.45, 3.46, 4.3, 3.97, 2.67, 4.5]
[178, 166, 162, 200, 190, 180]
['Arsenal', 'Tottenham Hotspur', 'Manchester United', 'Manchester City', 'Chelsea', 'Liverpool']
['hello', 2.45, 178, 'Arsenal']

🍚 원소 빼기, 바꾸기

  • del 함수를 이용하여 특정한 위치의 원소를 지울수 있다.
  • remove 메소드를 이용하여 특정한 이름의 원소를 지울수 있다.
  • 인덱스를 이용하여 특정위치의 원소를 다른 원소와 바꿀 수 있다.

예시

💻 파이썬

grades = [2.45, 3.46, 4.30, 3.97, 2.67]
height = [178, 166, 162, 190, 180]
teams = ["Arsenal", "Tottenham Hotspur", "Manchester United",
         "Manchester City", "Chelsea"]
mix = [2.45, 178, "Arsenal"]

del grades[3]
print(grades)    # grades 리스트에서 인덱스3의 원소를 삭제한다.

del height[2:]
print(height)   # height 리스트에서 인덱스2부터 끝까지의 원소를 삭제한다.

teams.remove("Tottenham Hotspur")  # team 리스트 원소 중에서 "Tottenham Hotspur"이라는 원소를 삭제한다.
print(teams)

mix[1] = "Leicester city"   # max 리스트에서 인덱스1의 원소를 "Leicester city"라는 원소와 바꾼다
print(mix)

👀 결과

[2.45, 3.46, 4.3, 2.67]
[178, 166]
['Arsenal', 'Manchester United', 'Manchester City', 'Chelsea']
[2.45, 'Leicester city', 'Arsenal']

🍚 원소 정렬하기

  • sorted 함수를 이용하여 리스트의 원소들을 오름차순으로 정렬해주는 새로운 리스트를 리턴할 수 있다.
  • sort 메소드를 이용하여 새로운 리스트를 생성하지 않고 리스트를 정렬시켜줄 수 있다.
  • reverse 메소드를 이용하여 리스트의 원소들을 뒤집은 순서대로 배치할 수 있다.

예시

💻 파이썬

grades = [2.45, 3.46, 4.30, 3.97, 2.67]
height = [178, 166, 162, 190, 180]
teams = ["Arsenal", "Tottenham Hotspur", "Manchester United",
         "Manchester City", "Chelsea"]
mix = [2.45, 178, "Arsenal"]

grades = sorted(grades)   # grades 리스트를 오름차순으로 정렬해주는 새로운 리스트를 리턴해준다.
print(grades)

height.sort()             # height 리스트를 오름차순으로 정렬해준다.
print(height)

teams.sort()             # team 리스트를 abc순으로 정렬해준다.
print(teams)

mix.reverse()           # max 리스트의 원소들의 순서를 뒤집는다.
print(mix)

👀 결과

[2.45, 2.67, 3.46, 3.97, 4.3]
[162, 166, 178, 180, 190]
['Arsenal', 'Chelsea', 'Manchester City', 'Manchester United', 'Tottenham Hotspur']
['Arsenal', 178, 2.45]

🍚 리스트에서 값의 존재 확인하기

  • in 이라는 키워드를 써서 '특정 원소값이 리스트에 있다' 라는 말이 맞는지확인할 수 있다.
  • not in 이라는 키워드를 써서 '특정 원소값이 리스트에 없다' 라는 말이 맞는지확인할 수 있다.

예시

💻 파이썬

grades = [2.45, 3.46, 4.30, 3.97, 2.67]
height = [178, 166, 162, 190, 180]
teams = ["Arsenal", "Tottenham Hotspur", "Manchester United",
         "Manchester City", "Chelsea"]
mix = [2.45, 178, "Arsenal"]

print(4.30 in grades)   # 'grades 리스트 안에 4.30이라는 원소가 있다' 라는 말이 맞는지 확인한다.

print(173 in height)    # 'height 리스트에 173이 있다' 라는 말이 맞는지 확인한다.

print("Chelsea" not in teams)    # 'team 리스트에서 "Chelsea"가 없다' 라는 말이 맞는지 확인한다.

print(3.14 not in mix)   # 'max 리스트에서 3.14가 없다'라는 말이 맞는지 확인한다.

👀 결과

True
False
False
True

🍚 리스트 연결하기

  • +를 이용해서 리스트끼리 연결할 수 있다.

예시

💻 파이썬

grades = [2.45, 3.46, 4.30, 3.97, 2.67]
height = [178, 166, 162, 190, 180]
teams = ["Arsenal", "Tottenham Hotspur", "Manchester United",
         "Manchester City", "Chelsea"]
mix = [2.45, 178, "Arsenal"]

print(grades + height)  # grade리스트와 height리스트를 합하여 연결한다.

new_list = teams + mix 
print(new_list)         # teams리스트와 mix리스트를 합하여 새로운 리스트를 만든다.

👀 결과

[2.45, 3.46, 4.3, 3.97, 2.67, 178, 166, 162, 190, 180]
['Arsenal', 'Tottenham Hotspur', 'Manchester United', 'Manchester City', 'Chelsea', 2.45, 178, 'Arsenal']

🍚 리스트 안에 리스트 (Nested List)

  • 리스트 안에 리스트(nested list)는 리스트 안에 또 다른 리스트가 있는 걸 말한다.
  • 리스트를 불러내면 큰 리스트가 불러나온다.
  • 리스트 안의 리스트를 불러올려면 list[0][0] 같이 대괄호안에 인덱스값을 넣은 것을 두번 연속으로 써주면 된다.

예시

💻 파이썬

numbers = [[1, 2, 3], [4, 5, 6], [7, 8, 9, 10]]

print(numbers[0])       # numbers리스트의 첫번째 리스트를 불러온다.
print(numbers[1][2])    # numbers리스트의 인덱스1 리스트의 인덱스2 값을 불러온다.

👀 결과

[1, 2, 3]
6
profile
나의 개발지식 output 공간

0개의 댓글