Tôi có một mảng với một tập hợp các yếu tố. Tôi muốn mang một yếu tố nhất định ra phía trước nhưng nếu không thì để lại thứ tự không thay đổi. Mọi người có đề xuất về cú pháp sạch nhất cho việc này không?
Đây là điều tốt nhất tôi có thể đưa ra, nhưng có vẻ như là hình thức xấu khi có hoạt động đăng nhập n khi một hoạt động N có thể làm được.
mylist = sorted[mylist,
key=lambda x: x == targetvalue,
reverse=True]
Dharman ♦♦
28.4K21 Huy hiệu vàng77 Huy hiệu bạc129 Huy hiệu đồng21 gold badges77 silver badges129 bronze badges
hỏi ngày 18 tháng 6 năm 2009 lúc 18:52Jun 18, 2009 at 18:52
1
Tôi sẽ đi với:
mylist.insert[0, mylist.pop[mylist.index[targetvalue]]]
Đã trả lời ngày 18 tháng 6 năm 2009 lúc 18:57Jun 18, 2009 at 18:57
Mike Hordeckimike HordeckiMike Hordecki
86.9K3 Huy hiệu vàng25 Huy hiệu bạc26 Huy hiệu đồng3 gold badges25 silver badges26 bronze badges
1
Để mang [ví dụ] phần tử thứ 6 vào phía trước, sử dụng:
mylist.insert[0, mylist.pop[5]]
[Python sử dụng lập chỉ mục dựa trên tiêu chuẩn 0]
ZF007
3.6468 Huy hiệu vàng33 Huy hiệu bạc48 Huy hiệu đồng8 gold badges33 silver badges48 bronze badges
Đã trả lời ngày 18 tháng 6 năm 2009 lúc 18:55Jun 18, 2009 at 18:55
Alex Martellialex MartelliAlex Martelli
829K164 Huy hiệu vàng1205 Huy hiệu bạc1385 Huy hiệu Đồng164 gold badges1205 silver badges1385 bronze badges
1
Điều này chỉ yêu cầu hai hoạt động danh sách [không có chỉ mục]:
mylist.insert[0, mylist.pop[mylist.index[targetvalue]]]
1Đã trả lời ngày 6 tháng 2 năm 2015 lúc 16:48Feb 6, 2015 at 16:48
Proskiproskiproski
3,40327 Huy hiệu bạc26 Huy hiệu đồng27 silver badges26 bronze badges
Lưu ý: Mã sau [và mã mẫu bạn cung cấp] sẽ đặt tất cả các yếu tố phù hợp ở phía trước.
x = targetvalue
for i in range[len[mylist]]:
if[mylist[i] == x]:
mylist = [mylist[i]] + mylist[:i] + mylist[i+1:]
Ví dụ: nếu myList = [1, 2, 3, 4, 3] và x = 3, điều này sẽ dẫn đến [3, 3, 1, 2, 4].
Đã trả lời ngày 18 tháng 6 năm 2009 lúc 19:03Jun 18, 2009 at 19:03
Di chuyển một mục đến phía trước của danh sách trong Python #
Để di chuyển một mục đến mặt trước của danh sách:
- Sử dụng phương thức
2 để xóa mục khỏi danh sách.mylist.insert[0, mylist.pop[mylist.index[targetvalue]]]
- Sử dụng phương thức
3 để chèn giá trị tại INDEXmylist.insert[0, mylist.pop[mylist.index[targetvalue]]]
4.mylist.insert[0, mylist.pop[mylist.index[targetvalue]]]
Copied!
my_list = ['bobby', 'hadz', '.', 'com'] item = 'hadz' my_list.remove[item] my_list.insert[0, item] print[my_list] # 👉️ ['hadz', 'bobby', '.', 'com']
________số 8
Copied!
my_list = ['bobby', 'hadz', '.', 'com'] my_list.remove['hadz'] print[my_list] # 👉️ ['bobby', '.', 'com']
Phương thức
mylist.insert[0, mylist.pop[5]]
8 trả về chỉ mục của mục đầu tiên có giá trị bằng với đối số được cung cấp.Phương pháp tăng
mylist.insert[0, mylist.pop[mylist.index[targetvalue]]]
5 nếu không có mục như vậy trong danh sách.Chúng tôi đã sử dụng phương thức
mylist.insert[0, mylist.pop[5]]
7 để xóa mục khỏi danh sách.
Copied!
my_list = ['bobby', 'hadz', '.', 'com'] try: item = 'another' my_list.remove[item] my_list.insert[0, item] except ValueError: # 👇️ this runs print['The specified value is not in the list'] print[my_list] # 👉️ ['bobby', 'hadz', '.', 'com']
Phương thức Danh sách.pop loại bỏ mục tại vị trí đã cho trong danh sách và trả về nó.
mylist.insert[0, mylist.pop[mylist.index[targetvalue]]]
0Copied!
my_list = ['bobby', 'hadz', '.', 'com'] item = 'hadz' my_list.remove[item] my_list.insert[0, item] print[my_list] # 👉️ ['hadz', 'bobby', '.', 'com']
Bước cuối cùng là sử dụng phương thức
mylist.insert[0, mylist.pop[mylist.index[targetvalue]]]
3 để chèn mục đã xóa tại Index mylist.insert[0, mylist.pop[mylist.index[targetvalue]]]
4.Di chuyển một mục đến phía trước của danh sách trong Python #
Phương pháp tăng 5 nếu không có mục đó. | Phương thức 6 làm biến đổi danh sách ban đầu và trả về 7. |
Bạn có thể sử dụng câu lệnh 8 nếu bạn cần xử lý kịch bản trong đó mục không có trong danh sách. | Giá trị được chỉ định không có trong danh sách, do đó, ngoại lệ 5 được nâng lên và sau đó được xử lý bởi khối 0. |
Bước cuối cùng là sử dụng phương thức
3 để chèn giá trị tại Index mylist.insert[0, mylist.pop[mylist.index[targetvalue]]]
4.mylist.insert[0, mylist.pop[mylist.index[targetvalue]]]
Phương thức danh sách.insert chèn một mục tại một vị trí nhất định.
Phương thức lấy 2 tham số sau:
Di chuyển một mục vào mặt trước của danh sách bằng danh sách.pop [] #
Để di chuyển một mục đến mặt trước của danh sách:
- Sử dụng phương thức
8 để lấy chỉ mục của mục.mylist.insert[0, mylist.pop[5]]
- Sử dụng phương thức
7 để xóa và truy xuất mục khỏi danh sách.mylist.insert[0, mylist.pop[5]]
- Sử dụng phương thức
3 để chèn giá trị tại INDEXmylist.insert[0, mylist.pop[mylist.index[targetvalue]]]
4.mylist.insert[0, mylist.pop[mylist.index[targetvalue]]]
________số 8
Phương thức
mylist.insert[0, mylist.pop[5]]
8 trả về chỉ mục của mục đầu tiên có giá trị bằng với đối số được cung cấp.Copied!
my_list = ['bobby', 'hadz', '.', 'com'] print[my_list.index['hadz']] # 👉️ 1
Phương pháp tăng
mylist.insert[0, mylist.pop[mylist.index[targetvalue]]]
5 nếu không có mục như vậy trong danh sách.Chúng tôi đã sử dụng phương thức
mylist.insert[0, mylist.pop[5]]
7 để xóa mục khỏi danh sách.Phương thức Danh sách.pop loại bỏ mục tại vị trí đã cho trong danh sách và trả về nó.
mylist.insert[0, mylist.pop[mylist.index[targetvalue]]]
0Bước cuối cùng là sử dụng phương thức
mylist.insert[0, mylist.pop[mylist.index[targetvalue]]]
3 để chèn mục đã xóa tại Index mylist.insert[0, mylist.pop[mylist.index[targetvalue]]]
4.