Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Đọc
Bàn luận
This particular functionality can be performed in one line by combining these functions. The append function adds the element removed by pop function using the index provided by index function.
Việc thao túng danh sách là khá phổ biến trong lập trình hàng ngày. Người ta có thể gặp nhiều vấn đề khác nhau, nơi người ta muốn thực hiện chỉ bằng một lớp lót. Một vấn đề như vậy có thể là di chuyển một yếu tố danh sách vào phía sau [cuối danh sách]. Hãy để thảo luận về những cách nhất định trong đó điều này có thể được thực hiện.
Phương pháp số 1: Sử dụng chức năng cụ thể
The original list is : ['3', '5', '7', '9', '11'] The modified element moved list is : ['3', '7', '9', '11', '5']3 này có thể được thực hiện trong một dòng bằng cách kết hợp các chức năng này. Chức năng nối thêm phần tử bị xóa bởi chức năng POP bằng cách sử dụng chỉ mục được cung cấp bởi chức năng chỉ mục.
['string1', 'string3', 'string2']
3['string1', 'string3', 'string2']
4['string1', 'string3', 'string2']
5The original list is : ['3', '5', '7', '9', '11'] The modified element moved list is : ['3', '7', '9', '11', '5']4
The original list is : ['3', '5', '7', '9', '11'] The modified element moved list is : ['3', '7', '9', '11', '5']5
The original list is : ['3', '5', '7', '9', '11'] The modified element moved list is : ['3', '7', '9', '11', '5']6
The original list is : ['3', '5', '7', '9', '11'] The modified element moved list is : ['3', '7', '9', '11', '5']7
The original list is : ['3', '5', '7', '9', '11'] The modified element moved list is : ['3', '7', '9', '11', '5']8
The original list is : ['3', '5', '7', '9', '11'] The modified element moved list is : ['3', '7', '9', '11', '5']9
The original list is : ['3', '5', '7', '9', '11'] The modified element moved list is : ['3', '7', '9', '11', '5']8
['string1', 'string2', 'string3']
1__
7 ['string1', 'string2', 'string3']
8['string1', 'string2', 'string3']
9 ['string1', 'string2', 'string3']
0 ['string1', 'string3', 'string2']
1['string1', 'string3', 'string2']
2['string1', 'string3', 'string2']
The original list is : ['3', '5', '7', '9', '11'] The modified element moved list is : ['3', '7', '9', '11', '5']
7 ['string1', 'string2', 'string3']
8['string1', 'string2', 'string3']
8 ['string1', 'string3', 'string2']
0 ['string1', 'string3', 'string2']
1['string1', 'string3', 'string2']
2['string1', 'string3', 'string2']
The sort method can also be used to achieve this particular task in which we provide the key as equal to
the string we wish to shift so that it is moved to the end.
Việc thao túng danh sách là khá phổ biến trong lập trình hàng ngày. Người ta có thể gặp nhiều vấn đề khác nhau, nơi người ta muốn thực hiện chỉ bằng một lớp lót. Một vấn đề như vậy có thể là di chuyển một yếu tố danh sách vào phía sau [cuối danh sách]. Hãy để thảo luận về những cách nhất định trong đó điều này có thể được thực hiện.
Phương pháp số 1: Sử dụng chức năng cụ thể
The original list is : ['3', '5', '7', '9', '11'] The modified element moved list is : ['3', '7', '9', '11', '5']3 này có thể được thực hiện trong một dòng bằng cách kết hợp các chức năng này. Chức năng nối thêm phần tử bị xóa bởi chức năng POP bằng cách sử dụng chỉ mục được cung cấp bởi chức năng chỉ mục.
The original list is : ['3', '5', '7', '9', '11'] The modified element moved list is : ['3', '7', '9', '11', '5']4
The original list is : ['3', '5', '7', '9', '11'] The modified element moved list is : ['3', '7', '9', '11', '5']5
The original list is : ['3', '5', '7', '9', '11'] The modified element moved list is : ['3', '7', '9', '11', '5']6
The original list is : ['3', '5', '7', '9', '11'] The modified element moved list is : ['3', '7', '9', '11', '5']7
The original list is : ['3', '5', '7', '9', '11'] The modified element moved list is : ['3', '7', '9', '11', '5']8
The original list is : ['3', '5', '7', '9', '11'] The modified element moved list is : ['3', '7', '9', '11', '5']9
The original list is : ['3', '5', '7', '9', '11'] The modified element moved list is : ['3', '7', '9', '11', '5']8
['string1', 'string2', 'string3']
1__The original list is : ['3', '5', '7', '9', '11'] The modified element moved list is : ['3', '7', '9', '11', '5']4
The original list is : ['3', '5', '7', '9', '11'] The modified element moved list is : ['3', '7', '9', '11', '5']5
The original list is : ['3', '5', '7', '9', '11'] The modified element moved list is : ['3', '7', '9', '11', '5']6
The original list is : ['3', '5', '7', '9', '11'] The modified element moved list is : ['3', '7', '9', '11', '5']7
The original list is : ['3', '5', '7', '9', '11'] The modified element moved list is : ['3', '7', '9', '11', '5']8
The original list is : ['3', '5', '7', '9', '11'] The modified element moved list is : ['3', '7', '9', '11', '5']9
The original list is : ['3', '5', '7', '9', '11'] The modified element moved list is : ['3', '7', '9', '11', '5']8
['string1', 'string2', 'string3']
1__
7 ['string1', 'string2', 'string3']
8['string1', 'string2', 'string3']
9 ['string1', 'string2', 'string3']
0 ['string1', 'string3', 'string2']
1['string1', 'string3', 'string2']
2['string1', 'string3', 'string2']
The original list is : ['3', '5', '7', '9', '11'] The modified element moved list is : ['3', '7', '9', '11', '5']
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
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
>>> lst = ['string1', 'string2', 'string3']
>>> lst.sort[key='string2'.__eq__]
>>> lst
['string1', 'string3', 'string2']
2, 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
Mgilsonmgilsonmgilson
290K61 Huy hiệu vàng608 Huy hiệu bạc676 Huy hiệu Đồng61 gold badges608 silver badges676 bronze badges
1
>>> lst = ['string1', 'string2', 'string3']
>>> lst.sort[key='string2'.__eq__]
>>> lst
['string1', 'string3', 'string2']
3 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
>>> lst = ['string1', 'string2', 'string3']
>>> lst.sort[key='string2'.__eq__]
>>> lst
['string1', 'string3', 'string2']
4 đế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
John La Rooyjohn La RooyJohn La Rooy
Phù bằng vàng 287K5151 gold badges359 silver badges500 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,9K7 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].
The original list is : ['3', '5', '7', '9', '11'] The modified element moved list is : ['3', '7', '9', '11', '5']0
Đã trả lời ngày 2 tháng 12 năm 2013 lúc 18:56Dec 2, 2013 at 18:56
Travis Griggstravis GriggsTravis Griggs
20.7K18 Huy hiệu vàng90 Huy hiệu bạc159 Huy hiệu đồng18 gold badges90 silver badges159 bronze badges
0
The original list is : ['3', '5', '7', '9', '11'] The modified element moved list is : ['3', '7', '9', '11', '5']1
Đã trả lời ngày 5 tháng 7 năm 2020 lúc 8:46Jul 5, 2020 at 8:46
1
Đây là một cách đơn giản hơn với việc trả lại danh sách mới:
The original list is : ['3', '5', '7', '9', '11'] The modified element moved list is : ['3', '7', '9', '11', '5']2
Đã 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