IT
컬렉션 자료형 활용
rimicode
2022. 6. 11. 23:06
728x90
반응형
SMALL
컬렉션 자료형의 내장메소드
append(), extend(), insert()
a.insert(len(a), x) 는 a.append(x) 와 동등
my_list=[]
for i in range(100, 250):
if (i%7==0) and (i%5!=0):
my_list.append(str(i))
print(','.join(my_list))
# 112,119,126,133,147,154,161,168,182,189,196,203,217,224,231,238
my_list=[]
for i in range(100, 250):
if (i%7==0) and (i%5!=0):
my_list.insert(len(my_list), str(i))
print(','.join(my_list))
# 112,119,126,133,147,154,161,168,182,189,196,203,217,224,231,238
words = []
while True:
char = input()
if char:
words.append(char.upper())
else:
# while 문을 통해 계속 입력할 수 있으며 입력을 끝내고 싶을 경우 공백 상태에서 엔터
break;
for word in words:
print(word)
values = []
for i in range(100, 250):
char = str(i)
if (int(char[0])%2==0) and (int(char[2])%2==0):
values.append(char)
print(",".join(values))
# 200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248
list_1 = ['red', 'orange']
list_2 = ['yellow',1 ,7]
list_1.extend(list_2)
print('list1: {}, list2: {}'.format(list_1, list_2))
# list1: ['red', 'orange', 'yellow', 1, 7], list2: ['yellow', 1, 7]
# append, extend 차이점
colors1 = ['red', 'orange']
colors1.append(['yellow', 'green'])
print(colors1)
colors2 = ['red', 'orange']
colors2.extend(['yellow', 'green'])
print(colors2)
# ['red', 'orange', ['yellow', 'green']]
# ['red', 'orange', 'yellow', 'green']
colors3 = ['red', 'orange','yellow']
colors3.append('green')
print(colors3)
colors4 = ['red', 'orange','yellow']
colors4.extend('green')
print(colors4)
# ['red', 'orange', 'yellow', 'green']
# ['red', 'orange', 'yellow', 'g', 'r', 'e', 'e', 'n']
del, remove, pop
list = [20, 22, 6, 2, 8]
for i in list.copy():
if not i % 2:
list.remove(i)
print(list)
# []
my_list = [1, 2, 3, 4, 5]
my_list[0] = 33
print(my_list)
del my_list[0]
print(my_list)
# [33, 2, 3, 4, 5]
# [2, 3, 4, 5]
my_list = [1, 2, 3, 4, 5]
my_list[0] = 33
print(my_list)
my_list.pop()
print(my_list)
# [33, 2, 3, 4, 5]
# [33, 2, 3, 4]
count(), index()
my_list = ['abc', 'DEF', 'ghi', 'JKL']
print("Index for abc : ", my_list.index( 'abc' ))
print("Index for JKL : ", my_list.index( 'JKL' ))
# Index for abc : 0
# Index for JKL : 3
my_list = ['abc', 'DEF', 'ghi', 'JKL']
print("Index for abc : ", my_list.count( 'abc' ))
print("Index for JKL : ", my_list.count( 'JKL' ))
# Index for abc : 1
# Index for JKL : 1
import math
def bin_search(li, element):
bottom = 0
top = len(li)-1
index = -1
while top >= bottom and index == -1:
mid = int(math.floor((top+bottom) / 2.0))
if li[mid] == element:
index = mid
elif li[mid] > element:
top = mid-1
else:
bottom = mid+1
return index
li=[2,5,7,9,11,17,222]
print(bin_search(li,11))
print(bin_search(li,102))
# 4
# -1
li = [12,24,36,48,60,72]
for (i,x) in enumerate(li):
if i not in (0,3,5):
li = x
print(li)
# 60
def list_update(data):
new_li=[]
new_set = set()
for item in data:
if item not in new_set:
new_set.add(item)
new_li.append(item)
return new_li
list_test=[1,1,10,50,50,100]
print(list_update(list_test))
# [1, 10, 50, 100]
sort & sorted
from operator import itemgetter # 특정 필드값을 꺼내주는 역할
l = []
while True:
s = input()
if not s:
break
l.append(tuple(s.split(",")))
print(sorted(l, key=itemgetter(0,1,2)))
# 입력 중단하고자 할 때는 엔터 입력
get()
dic = {}
s=input()
for s in s:
dic[s] = dic.get(s,0)+1
print('\n'.join(['%s,%s' % (k, v) for k, v in dic.items()]))
728x90
반응형
LIST