Hướng dẫn how do you move the first element to the last in python? - làm thế nào để bạn di chuyển phần tử đầu tiên đến phần tử cuối cùng trong python?

24

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi có một danh sách các chuỗi được gọi là giá trị và tôi muốn tạo một yếu tố trong danh sách là yếu tố cuối cùng. Ví dụ: nếu tôi có chuỗi:

['string1', 'string2', 'string3']

Tôi muốn String2 là yếu tố cuối cùng:

['string1', 'string3', 'string2']

Cũng có thể có một thể hiện khi danh sách của tôi không chứa chuỗi2. Có cách nào làm dễ hơn không? Đây là những gì tôi có cho đến nay:

if 'string2' in values:
    for i in values:
        #remove string2 and append to end

Hỏi ngày 2 tháng 12 năm 2013 lúc 4:13Dec 2, 2013 at 4:13

Hướng dẫn how do you move the first element to the last in python? - làm thế nào để bạn di chuyển phần tử đầu tiên đến phần tử cuối cùng trong python?

4

>>> lst = ['string1', 'string2', 'string3']
>>> lst.append(lst.pop(lst.index('string2')))
>>> lst
['string1', 'string3', 'string2']

Chúng tôi tìm kiếm chỉ mục của

['string1', 'string3', 'string2']
1, bật chỉ mục ra khỏi danh sách và sau đó nối nó vào danh sách.

Có lẽ một cách miễn phí ngoại lệ hơn là thêm thứ bạn đang tìm kiếm vào cuối danh sách trước tiên (sau tất cả, bạn có lẽ đã biết nó là gì). Sau đó xóa phiên bản đầu tiên của chuỗi đó khỏi danh sách:

>>> lst = ['string1', 'string2', 'string3']
>>> lst.append('string2')
>>> del lst[lst.index('string2')]  # Equivalent to lst.remove('string2')
>>> lst
['string1', 'string3', 'string2']

Đã trả lời ngày 2 tháng 12 năm 2013 lúc 4:15Dec 2, 2013 at 4:15

Hướng dẫn how do you move the first element to the last in python? - làm thế nào để bạn di chuyển phần tử đầu tiên đến phần tử cuối cùng trong python?

Mgilsonmgilsonmgilson

289K60 Huy hiệu vàng605 Huy hiệu bạc676 Huy hiệu Đồng60 gold badges605 silver badges676 bronze badges

1

['string1', 'string3', 'string2']
2 là O (n) cho hoạt động này, vì vậy đó là cùng một thời gian phức tạp với câu trả lời khác mà không có tra cứu chức năng 2 hoặc 3. Không có lỗi nếu 'String2' không có trong danh sách

>>> lst = ['string1', 'string2', 'string3']
>>> lst.sort(key='string2'.__eq__)
>>> lst
['string1', 'string3', 'string2']

Bạn có thể sử dụng cùng một thủ thuật này để di chuyển tất cả "chuỗi2" đến cuối danh sách. Hoặc nói chung hơn là toàn bộ danh mục, ví dụ như di chuyển mọi thứ bắt đầu bằng

['string1', 'string3', 'string2']
3 đến cuối danh sách:

lst.sort(key=lambda s:s.startswith('string'))

Timsort coi đây là tối đa 3 "chạy" và Timsort là một loại ổn định

Đã trả lời ngày 2 tháng 12 năm 2013 lúc 4:35Dec 2, 2013 at 4:35

Hướng dẫn how do you move the first element to the last in python? - làm thế nào để bạn di chuyển phần tử đầu tiên đến phần tử cuối cùng trong python?

John La Rooyjohn La RooyJohn La Rooy

286K51 Huy hiệu vàng359 Huy hiệu bạc499 Huy hiệu đồng51 gold badges359 silver badges499 bronze badges

0

lst = ['string1', 'string2', 'string3']
lst.append('string2')
lst.remove('string2')     # -> ['string1', 'string3', 'string2']

(Mgilson đã tạo ra một điểm tuyệt vời - nếu bạn thêm giá trị vào danh sách trước, sẽ luôn có một để xóa)

Đã trả lời ngày 2 tháng 12 năm 2013 lúc 4:18Dec 2, 2013 at 4:18

Hugh Bothwellhugh BothwellHugh Bothwell

53,8K7 Huy hiệu vàng81 Huy hiệu bạc98 Huy hiệu Đồng7 gold badges81 silver badges98 bronze badges

3

Đưa ra sự làm rõ của bạn, rằng bạn chỉ muốn một mục chọn được đẩy đến cuối và bạn không quan tâm đến nơi có phần cuối cùng, tôi nghĩ điều nhanh nhất là tìm chỉ số giá trị ứng cử viên của bạn và hoán đổi đó với giá trị cuối cùng. Điều này tránh phải xáo trộn bộ nhớ từ Remove (). Tôi đã không hẹn giờ, nhưng trong các danh sách lớn, nó sẽ nhanh hơn (Otoh, nếu nó đủ nhanh cho bạn, bạn không nên quan tâm).

def pushToEnd(sequence, toBeLast):
    try:
        swapIndex = sequence.index(toBeLast)
    except ValueError:
        return
    sequence[-1], sequence[swapIndex] = sequence[swapIndex], sequence[-1]

fastCars = ['ferarri', 'porsche', 'bugatti', 'lamborghini', 'zonda', 'koenigsegg', 'mcclaren']
pushToEnd(fastCars, 'bugatti')
print(fastCars)

Đã trả lời ngày 2 tháng 12 năm 2013 lúc 18:56Dec 2, 2013 at 18:56

Hướng dẫn how do you move the first element to the last in python? - làm thế nào để bạn di chuyển phần tử đầu tiên đến phần tử cuối cùng trong python?

Travis Griggstravis GriggsTravis Griggs

20.7K18 Huy hiệu vàng90 Huy hiệu bạc157 Huy hiệu đồng18 gold badges90 silver badges157 bronze badges

0

#move nth element to last
def movetolast(s, n):
    last = s.index(n)
    s[-1], s[last] = s[last], s[-1]
    return s
print(movetolast([2,3,4,6,7],3)) #[2, 7, 4, 6, 3]
print(movetolast(['apple','cherry','kiwi','mango'],'apple')) #['mango', 'cherry', 'kiwi', 'apple']

Đã trả lời ngày 5 tháng 7 năm 2020 lúc 8:46Jul 5, 2020 at 8:46

Hướng dẫn how do you move the first element to the last in python? - làm thế nào để bạn di chuyển phần tử đầu tiên đến phần tử cuối cùng trong python?

1

Đây là một cách đơn giản hơn với việc trả lại danh sách mới:

['string1', 'string3', 'string2']
0

Đã trả lời ngày 17 tháng 5 năm 2021 lúc 12:46May 17, 2021 at 12:46

MacSunmoodMacsunmoodmacsunmood

11 Huy hiệu vàng1 Huy hiệu bạc1 Huy hiệu đồng1 gold badge1 silver badge1 bronze badge

Làm thế nào để bạn di chuyển một yếu tố trong Python?

Nhiệm vụ cụ thể này có thể được thực hiện bằng cách sử dụng kết hợp các chức năng trên. Trong đó, chúng tôi chỉ sử dụng thuộc tính của chức năng POP để trả về và xóa phần tử và chèn nó vào vị trí cụ thể của danh sách khác bằng hàm chỉ mục.use the property of pop function to return and remove element and insert it to the specific position of other list using index function.

Làm thế nào để bạn chuyển một yếu tố đến cuối danh sách trong Python?

Có bốn phương pháp để thêm các yếu tố vào danh sách trong Python.append (): nối phần tử vào cuối danh sách.Chèn (): Chèn phần tử trước chỉ mục đã cho.Mở rộng (): Mở rộng danh sách bằng cách nối thêm các yếu tố từ Itable.append() : append the element to the end of the list. insert() : inserts the element before the given index. extend() : extends the list by appending elements from the iterable.

Làm cách nào để thay đổi số đầu tiên và cuối cùng trong danh sách Python?

Cách tiếp cận #5: Trao đổi các yếu tố đầu tiên và cuối cùng là sử dụng danh sách chức năng sẵn có.nhạc pop().Pop phần tử đầu tiên và lưu trữ nó trong một biến.Tương tự, bật phần tử cuối cùng và lưu trữ nó trong một biến khác.use the inbuilt function list. pop(). Pop the first element and store it in a variable. Similarly, pop the last element and store it in another variable.

Làm thế nào để bạn thay đổi vị trí trong Python?

Trong Python, cách dễ nhất để chuyển các giá trị trong danh sách là với các hàm python pop (), chèn () và append ().Bạn cũng có thể sử dụng cấu trúc dữ liệu deque () từ mô -đun Bộ sưu tập Python để chuyển danh sách.Bạn cũng có thể sử dụng việc cắt danh sách để chuyển danh sách về phía trước hoặc lùi trong Python.Python list pop(), insert(), and append() functions. You can also use the deque() data structure from the Python collections module to shift a list. You can also use list slicing to shift a list forward or backwards in Python.