본문 바로가기
  • Let's go grab a data
Data/Python

자료형 - List

by pub-lican-ai 2018. 2. 13.
반응형

#리스트 : 객체들의 순서가 있는 모임Collection

#[], len(), max(), min(), count()

a_list = [1,2,3]

print("Output #58: {}".format(a_list))

print("Output #59: {}".format(len(a_list)))

print("Output #60: {}".format(max(a_list)))

print("Output #61: {}".format(min(a_list)))

another_list = ['printer',5,['star','circle',5]]

print("Output #62: {}".format(another_list))

print("Output #63: {}".format(len(another_list)))

print("Output #64: {}".format(another_list.count(5))) #리스트 내 특정 값 등장한 횟수

print(','.join(a_list))

Output #58: [1, 2, 3]
Output #59: 3
Output #60: 3
Output #61: 1
Output #62: ['printer', 5, ['star', 'circle', 5]]
Output #63: 3
Output #64: 1


print("Output #65: {}".format(a_list[0]))

print("Output #66: {}".format(a_list[1]))

print("Output #67: {}".format(a_list[2]))

print("Output #68: {}".format(a_list[-1]))

print("Output #69: {}".format(a_list[-2]))

print("Output #70: {}".format(a_list[-3]))

print("Output #71: {}".format(another_list[2]))

print("Output #72: {}".format(another_list[-1]))

Output #65: 1
Output #66: 2
Output #67: 3
Output #68: 3
Output #69: 2
Output #70: 1
Output #71: ['star', 'circle', 5]
Output #72: ['star', 'circle', 5]


#리스트 분할하기

print("Output #73: {}".format(a_list[0:2]))

print("Output #74: {}".format(another_list[:2]))

print("Output #75: {}".format(a_list[1:3]))

print("Output #76: {}".format(another_list[1:]))


#리스트 복사하기

a_new_list = a_list[:]

print("Output #77: {}".format(a_new_list

                              

#리스트 병합하기

a_longer_list = a_list + another_list

print("Output #78: {}".format(a_longer_list))

Output #73: [1, 2]
Output #74: ['printer', 5]
Output #75: [2, 3]
Output #76: [5, ['star', 'circle', 5]]
Output #77: [1, 2, 3]
Output #78: [1, 2, 3, 'printer', 5, ['star', 'circle', 5]]


#in, not in 으로 리스트 내 포함 여부 확인

a = 2 in a_list

print("Output #79: {}".format(a))

if 2 in a_list:

    print("Output #80: {}".format(a_list))

b = 6 not in a_list

print("Output #81: {}".format(b))

if 6 not in a_list:

    print("Output #82: {}".format(a_list))

    

#append, remove, pop 함수

a_list.append(4)

a_list.append(5)

a_list.append(6)

print("Output #83: {}".format(a_list))

a_list.remove(5) #특정 원소 제거

print("Output #84: {}".format(a_list))

a_list.pop() #마지막 원소 제거

a_list.pop()

print("Output #85: {}".format(a_list))


#reverse 리스트 반전

a_list.reverse()

print("Output #86: {}".format(a_list))

a_list.reverse()

print("Output #87: {}".format(a_list))

Output #79: True
Output #80: [1, 2, 3]
Output #81: True
Output #82: [1, 2, 3]
Output #83: [1, 2, 3, 4, 5, 6]
Output #84: [1, 2, 3, 4, 6]
Output #85: [1, 2, 3]
Output #86: [3, 2, 1]
Output #87: [1, 2, 3]


#sort

unordered_list = [3,5,1,7,2,8,4,9,0,6]

print("Output #88: {}".format(unordered_list))

list_copy = unordered_list[:]

list_copy.sort()

print("Output #89: {}".format(list_copy))

print("Output #90: {}".format(unordered_list))


#sorted

my_lists=[[1,2,3,4],[4,3,2,1],[2,4,1,3]]

my_list_sorted = sorted(my_lists, key=lambda index_value:index_value[3])

#인덱스가 3 즉, 각 원소 리스트의 4번째 값에 의해 정렬

print("Output #91: {}".format(my_list_sorted))


#operator 모듈의 itemgetter

from math import exp, log, sqrt

import re

from operator import itemgetter

my_lists = [[123,2,2,444],[22,6,6,444],[354,4,4,678],[236,5,5,678],[578,1,1,290],[461,1,1,290]]

my_lists_sorted_itemgetter = sorted(my_lists, key=itemgetter(3,0))

#우선 3번째 인덱스 값에 따라 리스트  정렬한 후 이 순서를 유지하면서 0번째 인덱스에 위치한 값에 따라 다음 정렬 수행

print("Output #92: {}".format(my_lists_sorted_itemgetter))

Output #88: [3, 5, 1, 7, 2, 8, 4, 9, 0, 6]
Output #89: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Output #90: [3, 5, 1, 7, 2, 8, 4, 9, 0, 6]
Output #91: [[4, 3, 2, 1], [2, 4, 1, 3], [1, 2, 3, 4]]
Output #92: [[461, 1, 1, 290], [578, 1, 1, 290], [22, 6, 6, 444], [123, 2, 2, 444], [236, 5, 5, 678], [354, 4, 4, 678]]


반응형