파이썬에서 목록의 시작 부분에 정수 추가
정수와 목록이 있습니다. 변수로 시작하고 목록으로 끝나는 새 목록을 만들고 싶습니다. 쓰기 a + list
오류가 발생합니다. 컴파일러는 a
정수로 처리 하므로 append를 사용하거나 확장 할 수 없습니다. 어떻게 하시겠습니까?
>>>var=7
>>>array = [1,2,3,4,5,6]
>>>array.insert(0,var)
>>>array
[7, 1, 2, 3, 4, 5, 6]
작동 방식 :
array.insert(index, value)
주어진 위치에 항목을 삽입하십시오. 첫 번째 인수는 삽입 할 요소의 색인이므로 array.insert(0, x)
목록 맨 앞에 삽입하고.와 array.insert(len(array), x)
같습니다. array.append(x)
음수 값은 배열의 끝을 기준으로 처리됩니다.
>>> a = 5
>>> li = [1, 2, 3]
>>> [a] + li # Don't use 'list' as variable name.
[5, 1, 2, 3]
루프, 특히 루프에서 해당 작업을 자주 수행하려는 경우 목록이 잘못된 데이터 구조 입니다.
리스트는 수정을 위해 최적화되지 않았 somelist.insert(0, something)
으며 O (n) 연산 입니다.
somelist.pop(0)
와 del somelist[0]
같은 O (n)를 연산한다.
사용할 올바른 데이터 구조 deque
는 collections
모듈 에서 가져온 것 입니다. deques는 목록의 인터페이스와 유사한 인터페이스를 제공하지만 두 엔드 포인트의 수정에 최적화되어 있습니다. 그들은이 appendleft
전면에 삽입하기위한 방법을.
데모:
In [1]: lst = [0]*1000
In [2]: timeit -n1000 lst.insert(0, 1)
1000 loops, best of 3: 794 ns per loop
In [3]: from collections import deque
In [4]: deq = deque([0]*1000)
In [5]: timeit -n1000 deq.appendleft(1)
1000 loops, best of 3: 73 ns per loop
같은 일을하는 또 다른 방법은
list[0:0] = [a]
포장 풀기 목록을 사용할 수 있습니다.
a = 5
li = [1,2,3]
li = [a, * li]
=> [5, 1, 2, 3]
timeit
모듈을 사용하는 일부 (최소) 벤치 마크를 기반으로 다음과 같은 성능이 허용 된 답변과 비슷하지는 않지만 비슷한 것으로 보입니다
new_lst = [a, *lst]
이것과 마찬가지로 [a] + list
새로운리스트를 생성하고 변경하지는 않습니다 lst
.
목록을 변경하려는 의도가 있다면를 사용하십시오 lst.insert(0, a)
.
단순히 목록을 추가하여 새로운 목록을 만들 수 있습니다.
list1 = ['value1','value2','value3']
list2 = ['value0']
newlist=list2+list1
print(newlist)
이 중 어느 것도 나를 위해 일하지 않았습니다. 첫 번째 요소를 시리즈 (단일 요소 시리즈)의 일부로 변환하고 두 번째 요소도 시리즈로 변환하고 추가 기능을 사용했습니다.
l = ((pd.Series(<first element>)).append(pd.Series(<list of other elements>))).tolist()
list_1.insert(0,ur_data)
확인 ur_data 문자열 유형이다 u는 한 그렇다면 만들기 data= int(5)
로 변환ur_data = str(data)
참고 URL : https://stackoverflow.com/questions/17911091/append-integer-to-beginning-of-list-in-python
'Programing' 카테고리의 다른 글
JS / jQuery에서 화살표 키 바인딩 (0) | 2020.02.21 |
---|---|
C #에서 var 키워드 사용 (0) | 2020.02.21 |
AngularJS 부분보기를 기반으로 헤더를 동적으로 변경하는 방법은 무엇입니까? (0) | 2020.02.21 |
<10 줄의 간단한 코드로 할 수있는 가장 멋진 일은 무엇입니까? (0) | 2020.02.21 |
완벽한 JPA 엔터티 만들기 (0) | 2020.02.21 |