Hướng dẫn python list append front - danh sách python nối thêm phía trước

Note that if you are trying to do that operation often, especially in loops, a list is the wrong data structure. a list is the wrong data structure.

Lists are not optimized for modifications at the front, and

a[0:0] = k
6 is an O(n) operation.

a[0:0] = k
7 and
a[0:0] = k
8 are also O(n) operations.

The correct data structure to use is a

a[0:0] = k
9 from the
a[0:0] = k
0 module. deques expose an interface that is similar to those of lists, but are optimized for modifications from both endpoints. They have an
a[0:0] = k
1 method for insertions at the front.

Demo:

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

>>> a = ['foo.py']
>>> k = ['nice', '-n', '10'] 
>>> a.insert(0, k)
>>> a
[['nice', '-n', '10'], 'foo.py']

a = a[:n] + k + a[n:]
6 để hợp nhất số nguyên duy nhất và danh sách hiện có, đặt số nguyên ở đầu danh sách mới được hình thành.
a[0:0] = k
5

Hiệu suất khôn ngoan, sử dụng giải nén là nhanh nhất trong số tất cả các giải pháp được đề cập. Phương pháp

a = k + a
0 là thứ hai gần để giải nén. Sử dụng toán tử
a = k + a
1 chậm hơn đáng kể so với cả hai giải pháp được đề cập ở trên.Show

  • Sử dụng a = k + a 0 để nối một phần tử vào mặt trước của danh sách trong Python
  • Sử dụng toán tử a = k + a 1 để nối một phần tử vào mặt trước của danh sách trong Python
  • Sử dụng giải nén để chèn một phần tử vào đầu danh sách
  • a = k + a
    
    1. Sử dụng toán tử
    a = k + a
    
    1 trên hai hoặc nhiều danh sách kết hợp chúng theo thứ tự được chỉ định.
  • a = a[:n] + k + a[n:]
    
    0 với nhau, thì nó kết hợp tất cả các yếu tố từ
    a = a[:n] + k + a[n:]
    
    1 sau phần tử cuối cùng của
    a = a[:n] + k + a[n:]
    
    2. Ví dụ: hãy để thêm một số nguyên duy nhất vào đầu danh sách đã có sẵn bằng toán tử
    a = k + a
    
    1.
    a[0:0] = k
    
    3
  • Bạn có thể đặt một danh sách trong danh sách Python không?

hỏi ngày 9 tháng 1 năm 2012 lúc 8:24Jan 9, 2012 at 8:24Jan 9, 2012 at 8:24

Áp dụng cắt lát:

a[0:0] = k

Hoặc làm điều đó theo cách thủ công:

a = k + a

Cách tiếp cận đầu tiên vẫn giữ nguyên để chèn ở bất cứ nơi nào, tức là

a[0:0] = k
9 sẽ chèn k ở vị trí n, nhưng cách tiếp cận thứ hai sẽ không giống nhau, đó sẽ là
a = a[:n] + k + a[n:]

Đã trả lời ngày 9 tháng 1 năm 2012 lúc 8:27Jan 9, 2012 at 8:27Jan 9, 2012 at 8:27

Sufian Latifsufian LatifSufian LatifSufian Latif

12.8k3 Huy hiệu vàng32 Huy hiệu bạc70 Huy hiệu đồng3 gold badges32 silver badges70 bronze badges3 gold badges32 silver badges70 bronze badges

3

thay vì:

>>> a.insert(0, k)

use:

>>> k.extend(a)
>>> k
['nice', '-n', '10', 'foo.py']

Điều này cập nhật "danh sách K" "tại chỗ" thay vì tạo một bản sao.

Danh sách Concatenation (K + A) sẽ tạo một bản sao.

Tùy chọn cắt lát (A [0: 0] = K) cũng sẽ cập nhật "tại chỗ" nhưng IMHO khó đọc hơn.

Đã trả lời ngày 9 tháng 1 năm 2012 lúc 8:30Jan 9, 2012 at 8:30Jan 9, 2012 at 8:30

Paulo Scardinepaulo ScardinePaulo ScardinePaulo Scardine

70.1k11 Huy hiệu vàng124 Huy hiệu bạc150 Huy hiệu đồng11 gold badges124 silver badges150 bronze badges11 gold badges124 silver badges150 bronze badges

4

Sử dụng Danh sách Concatenation:

a = k + a

Đã trả lời ngày 9 tháng 1 năm 2012 lúc 8:27Jan 9, 2012 at 8:27Jan 9, 2012 at 8:27

Sufian Latifsufian LatifSufian LatifDavid Robinson

12.8k3 Huy hiệu vàng32 Huy hiệu bạc70 Huy hiệu đồng3 gold badges32 silver badges70 bronze badges15 gold badges162 silver badges181 bronze badges

>>> a = ['foo.py']
>>> k = ['nice', '-n', '10'] 
>>> a.insert(0, k)
>>> a
[['nice', '-n', '10'], 'foo.py']
1

Đã trả lời ngày 9 tháng 1 năm 2012 lúc 8:27Jan 9, 2012 at 8:27Jan 9, 2012 at 8:27

Sufian Latifsufian LatifSufian Latifdhg

12.8k3 Huy hiệu vàng32 Huy hiệu bạc70 Huy hiệu đồng3 gold badges32 silver badges70 bronze badges8 gold badges120 silver badges144 bronze badges

>>> a = ['foo.py']
>>> k = ['nice', '-n', '10'] 
>>> a.insert(0, k)
>>> a
[['nice', '-n', '10'], 'foo.py']
2

thay vì:Jan 9, 2012 at 8:49

Điều này cập nhật "danh sách K" "tại chỗ" thay vì tạo một bản sao.thavan

Danh sách Concatenation (K + A) sẽ tạo một bản sao.23 silver badges32 bronze badges

>>> a = ['foo.py']
>>> k = ['nice', '-n', '10'] 
>>> a.insert(0, k)
>>> a
[['nice', '-n', '10'], 'foo.py']
3

Tùy chọn cắt lát (A [0: 0] = K) cũng sẽ cập nhật "tại chỗ" nhưng IMHO khó đọc hơn.Sep 15, 2014 at 19:26

  1. Đã trả lời ngày 9 tháng 1 năm 2012 lúc 8:30Jan 9, 2012 at 8:30
  2. Paulo Scardinepaulo ScardinePaulo Scardine
  3. 70.1k11 Huy hiệu vàng124 Huy hiệu bạc150 Huy hiệu đồng11 gold badges124 silver badges150 bronze badges

Sử dụng Danh sách Concatenation:

Sufian Latifsufian LatifDavid Robinson

12.8k3 Huy hiệu vàng32 Huy hiệu bạc70 Huy hiệu đồng15 gold badges162 silver badges181 bronze badges

Sufian Latifsufian Latifdhg

12.8k3 Huy hiệu vàng32 Huy hiệu bạc70 Huy hiệu đồng8 gold badges120 silver badges144 bronze badges

thay vì:Jan 9, 2012 at 8:49

a[0:0] = k
1

Output:

a[0:0] = k
2

Điều này cập nhật "danh sách K" "tại chỗ" thay vì tạo một bản sao.thavan

Danh sách Concatenation (K + A) sẽ tạo một bản sao.23 silver badges32 bronze badges

Tùy chọn cắt lát (A [0: 0] = K) cũng sẽ cập nhật "tại chỗ" nhưng IMHO khó đọc hơn.Sep 15, 2014 at 19:26

Sử dụng

a = k + a
0 để nối một phần tử vào mặt trước của danh sách trong Python

Sử dụng toán tử
a = k + a
1 để nối một phần tử vào mặt trước của danh sách trong Python

Sử dụng giải nén để chèn một phần tử vào đầu danh sách

Giải nén là một hoạt động trong Python cho phép các thao tác có thể lặp lại độc đáo. Giải nén cho phép chuyển nhượng có thể linh hoạt và hiệu quả hơn cho các nhà phát triển.

Output:

a[0:0] = k
4

70.1k11 Huy hiệu vàng124 Huy hiệu bạc150 Huy hiệu đồng11 gold badges124 silver badges150 bronze badges

Sử dụng Danh sách Concatenation:

Sufian Latifsufian LatifDavid Robinson

12.8k3 Huy hiệu vàng32 Huy hiệu bạc70 Huy hiệu đồng15 gold badges162 silver badges181 bronze badges

Sufian Latifsufian Latifdhg

Output:

a[0:0] = k
6

12.8k3 Huy hiệu vàng32 Huy hiệu bạc70 Huy hiệu đồng8 gold badges120 silver badges144 bronze badges

thay vì:Jan 9, 2012 at 8:49

Điều này cập nhật "danh sách K" "tại chỗ" thay vì tạo một bản sao.thavan

Danh sách Concatenation (K + A) sẽ tạo một bản sao.23 silver badges32 bronze badges

Tùy chọn cắt lát (A [0: 0] = K) cũng sẽ cập nhật "tại chỗ" nhưng IMHO khó đọc hơn.Sep 15, 2014 at 19:26

Sử dụng

a = k + a
0 để nối một phần tử vào mặt trước của danh sách trong Python insert() method to append an item to the front of a list, e.g. my_list. insert(0, value) . The insert() method will insert the provided value at the front (position 0 ) of the list.

Phụ lục thêm vào phía trước hoặc mặt sau của danh sách?

Bạn có thể thêm các phần tử vào danh sách bằng phương thức phụ lục.Phương thức append () thêm một phần tử vào cuối danh sách.adds a single element towards the end of a list.adds a single element towards the end of a list.

Bạn có thể đặt một danh sách trong danh sách Python không?

Sử dụng hàm append () để tạo danh sách các danh sách trong Python.Chức năng append () nào là nó kết hợp tất cả các danh sách như các yếu tố thành một danh sách.Nó thêm một danh sách ở cuối danh sách.. What append() function does is that it combines all the lists as elements into one list. It adds a list at the end of the list.. What append() function does is that it combines all the lists as elements into one list. It adds a list at the end of the list.