2019년 9월 30일 월요일

python - 리스트와 그 속성

python 에서는 다른 언어와 달리 배열이라는 개념이 없고 대신 리스트를 사용한다.
리스트는 대괄호 []로 감싼다. 예: list = ["a", 1, "c"]

remove - 리스트에서 데이터값(인덱스 아님)을 찾아 제거하고, 크기를 1 줄인다. 값을 발견하지 못하면 인터프리터는 에러를 발생시킨다.
예:
>>> nums = [1, 2,"삼",4]
>>> nums.remove("삼")
>>> nums
[1,2,4]

pop - 리스트에서 인덱스값을 기준으로 제거 후 그 값을 반환한다. 인덱스값을 지정하지 않으면 맨 마지막 객체를 삭제하고 반환한다. 인덱스값이 존재하지 않거나 리스트가 비어 있으면 에러를 발생시킨다.
예:
>>> nums = [1,2,3,4]
>>> i = nums.pop(2)
>>> i
3
>>> nums
[1, 2, 4]

append - 리스트 마지막에 객체를 추가한다.
>>> nums = [1,2,3,4]
>>> nums.append("five")
>>> nums
[1, 2, 3, 4, 'five']

extend - 또 다른 리스트를 인자로 받아 리스트의 모든 객체를 기존 리스트에 추가한다.
>>> nums = [1,2,3,4]
>>> nums.extend(["five","six"])
>>> nums
[1, 2, 3, 4, 'five', 'six']

insert - 인덱스값과 객체를 인자로 받아 원하는 위치에 객체를 삽입한다. 맨 마지막에 삽입할 수 없고 이는 append로 가능하다.
>>> nums = [1,2,3,4]
>>> nums.insert(2,"three")
>>> nums
[1, 2, 'three', 3, 4]

list > string 형변환
>>> list = ["i","a"]
>>> string = ",".join(list)
>>> string
'i,a'

string > list 형변환
>>> a = 'hello! world'
>>> print(a.split())
['hello!', 'world']

>>> a = 'hello! world'
>>> print(a.split("!"))
['hello', ' world']

리스트 사용 시 주의 할 점
리스트를 복사할 때 할당 연산자로 복사 시 기존 리스트를 변경하면 복사한 리스트도 변경된다.
>>> a = [1,2,3]
>>> b = a
>>> b
[1, 2, 3]
>>> a.append(4)
>>> a
[1, 2, 3, 4]
>>> b
[1, 2, 3, 4]

리스트 복사 시 copy() 함수를 사용한다.
>>> a = [1,2,3]
>>> b = a.copy()
>>> b
[1, 2, 3]
>>> a.append(4)
>>> a
[1, 2, 3, 4]
>>> b
[1, 2, 3]

2019년 9월 21일 토요일

[javascript] [jquery] ready()와 change() 시 동시에 함수 호출 - trigger()

javascript를 배우면서 문제가 하나 생겼다. 특정 엘리멘트 상태가 변경이 될 때 한 함수를 호출하는 것인데 문제는 이 함수를 페이지 로딩 후에도 호출하고 싶은데 그러러면 ready()에도 이 함수를 넣어줘야 하고 change()에도 넣어줘야 하는 번거로움이 있다.

다행히 jquery의 trigger() 함수로 해결할 수 있었다.

A라는 함수를 만들고 그 안에 change() 함수와 함께 trigger()로 마무리를 하고, A함수를 ready() 에 포함시켜 봤더니 잘 동작한다.



도움받은 글:
https://stackoverflow.com/questions/28703242/combine-jquery-on-ready-change

https://lookingfor.tistory.com/entry/JQuery-함수-trigger-강제로-click-이벤트-발생시키기