dict, range, slice, index, find

I'm Cape·2023년 5월 12일
0

제로베이스 데이터 취업 스쿨 2주차 스터디노트 4호

range() vs. slice()

둘 다 paramter가 start, end, stop이고 end 미포함이다.
엄밀히 말하면 다르긴 한데 (slice는 step에 0을 사용하는게 가능)
그다지 중요한 정보는 아닌듯?

.index() vs .find()

가장 주요 차이점은 find는 list에서 사용할 수 없다.
string에서 뭔가 찾는 것은 실무에서 드물지 않나?

if x in list_data:
	list_data.index(x)

이 구문이 제일 유용하지 않나 싶다.
또, 하나는 찾는 element가 없을 때 에러 발생 여부인데,
list 사용 가능 여부에 묻히는 듯...

dictionary의 다양한 특징들

리스트, 튜플 <=> 딕셔너리
변환이 어떻게 될까 궁금해서 확인해봤다.

from random import randint

x = [[randint(1, 10) for i in range(2)] for j in range(10)]
y = ([randint(1, 10) for i in range(2)] for j in range(10))
z = [(randint(1, 10) for i in range(2)) for j in range(10)]
w = ((randint(1, 10) for i in range(2)) for j in range(10))

result = []
for seq in x, y, z, w:
    result.append(dict(seq))

for seq in result: # value가 남지 않고 key가 남음
    print(seq)
    print(list(seq))
    print(tuple(seq))

참고로, 변경 후 키값이 중복되는 경우는
기존 데이터 index 상 뒤에 있는 값으로 덮어씌워진다

y = [[1, 1], [1, 2]]
print(dict(y)) # {1: 2}

딕셔너리에서 pop을 사용할 때에는,
argument로 key를 주고 value를 리턴으로 받는다.

x = {2: 6, 9: 8, 7: 1, 3: 3, 10: 1, 1: 9}
value = x.pop(2)
print(value) # 6

딕셔너리에서 in 구문을 쓰면 key값으로 판단을 한다.

x = { "a": 1, "b": 2 }
print("a" in x) # True
print(2 in x) # False
profile
Impact

0개의 댓글