a = [0, 10 ,20 ,30 ]
30 in a
>> True
✔ + : 시퀀스 객체 연결하기
a = [1, 2, ,3, 4]
b = [5, 6, 7, 8]
a + b
>> [1, 2, 3, 4, 5, 6, 7, 8]
** range는 리스트 또는 튜플로 만들어 연결 **
range(1, 5)
range(6,10)
list(range(1,5)) + list(range(6,10))
>> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
✔ * : 객체를 특정횟수만큼 반복(정수만 가능)
[0,1,3,5] * 2
>> [0, 1, 3, 5, 0, 1, 3, 5]
✔ len(): 시퀀스 객체 요소 개수 구하기
** range에 len을 사용하면 생성되는 요수 개수 구함 **
len(range(0,10,2) # 0~10까지 2씩 증가
>> 5
✔ del a()/a.remove(): 시퀀스 요소 삭제
#del
alp = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
index_alp = alp.index('d')
del alp[index_alp]
print(alp)
#remove
alp.remove('d')
print(alp)
>> ['a', 'b', 'c', 'e', 'f', 'g', 'h', 'i', 'j']
✔ insert(): 시퀀스 요소 삽입
mylist = [1, 5, 1, 7, 1]
mylist[mylist.count(1)] = 70
mylist[len(mylist) - 1] = 80
mylist.insert(1, 50) 인덱스 [1]자리에 50추가
print(mylist)
>> [1,50,1,70,80]
a = [38, 21, 53]
a[0]
>> 38
a[1]
>> 21
a[2]
>> 53
a=[1, 2, 3, 4, 5]
a[0:2]
>> [1, 2, 3]
** 음수 인덱스 지정 가능 **
a = [2, 4, 6, 8, 10]
a[0:-2]
>> [2, 4, 6, 8]
✔ 튜플 슬라이스
range(0,10) # (0,1,2,3,4,5,6,7,8,9)
r[4:7]
>>(4, 5, 6)
✔ 슬라이스에 요소 할당
a = [1, 2, 3, 4, 5]
a[1:3] = ['a', 'b']
>> [1, 'a', 'b', 4, 5]
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
a [2:8:2] = ['a', 'b']
>> ValueError, 크기가 3이어야 오류 x
리스트를 간결하게 읽기 쉽게 작성하는 형태
my_tuple = (1, 2, 3, 4, 5)
remove_num = 2
list_numbers = [n for n in my_tuple if n != remove_num]
print(list_numbers)
#1 2차원 배열을 1차원 배열로 변환
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flattened = [num for row in matrix for num in row]
print(flattened)
>> [1, 2, 3, 4, 5, 6, 7, 8, 9]
#2 2차원 배열 각 요소를 제곱한 값을 포함하는 리스트 생성
squared_matrix = [[num**2 for num in row] for row in matrix]
print(squared_matrix)
>> [[1, 4, 9], [16, 25, 36], [49, 64, 81]]
#1
even = []
for i in range(2, 11, 2):
even.append(i)
print(even)
*****
even = [i for i in range(2,11,2)]
print(even)
>> [2, 4, 6, 8, 10]
#2
s = []
for i in range(10):
if i % 2 == 1:
s.append(i**2)
print(s)
*****
s = [ i**2 for i in range(10) if i % 2 ==1]
print(s)
>> [1, 9, 25, 49, 81]
#1
def list_sort(d):
d.sort()
print(d)
return
def list_reverse(d):
d.sort(reverse=True)
print(d)
return
data = '잣밤배귤감'
list_data = []
for i in data:
if i not in list_data:
list_data.append(i)
list_sort(list_data)
list_reverse(list_data)
#2
def list_sort(s):
list_s = list(s)
list_s.sort()
return list_s
def list_revers_sort(s):
list_s = list(s)
list_s.sort(reverse=True)
return list_s
s = '잣밤배귤감'
result = list_sort(s)
print(result)
result_reverse = list_revers_sort(s)
print(result_reverse)

data = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
rsum = [sum(row) for row in data]
csum_data = list(map(list,zip(*data)))
csum = [sum(row) for row in csum_data]
print("행의 합: ",rsum)
print("열의 합: ",csum)

m = [[1, 2], [3, 4], [5, 6], [7, 8]]
result = list(map(list, zip(*m)))
print(result)

def get_key(s):
return len(s), s
# set으로 집합으로 만들어 중복제거 후 오름차순 정렬
def get_sort_list(s):
list_s = list(set(s))
list_s.sort(key = get_key)
return list_s
strings = ["mango", "apple", "banana", "cherry", "date", "fig", "apple", "banana"]
result = get_sort_list(strings)
print(result)
strings = ["mango", "apple", "banana", "cherry", "date", "fig", "apple", "banana"]
