在Python中,如何將項目移動到列表中的確定索引?移動列表中的項目?
回答
使用列表的insert
方法:
l = list(...)
l.insert(index, item)
或者,你可以使用切片表示法:
l[index:index] = [item]
如果要移動一個已經在列表中指定的項目位置,則必須將其刪除並將其插入新位置:
l.insert(newindex, l.pop(oldindex))
請記住,使用insert/pop方法移動列表中已有的項目將會有不同的行爲,具體取決於您是向前還是向後移動o列表中。移到您選擇的對象之前插入的左側。移動到您選擇的項目之後的後面。檢查是否移動到列表的末尾(索引錯誤)。 – MKaras 2012-07-27 10:53:53
如何移動多個元素?給定一個列表a = [1,2,3,4,5,6,7,8,9],如何將它轉換爲[1,2,[3,4,5],6,7,8,9 ]?這可以通過一步完成還是通過列表理解來完成? – g33kz0r 2013-02-21 19:04:49
@MKaras我用Python 3.5測試了這個,你可以插入到'last index + 1'沒有錯誤。在這種情況下,該元素僅附加到列表中。 – user2061057 2016-11-25 09:47:04
稍短的解決方案,只有移動的項目結束後,沒有在任何地方是這樣的:
l += [l.pop(0)]
例如:
>>> l = [1,2,3,4,5]
>>> l += [l.pop(0)]
>>> l
[2, 3, 4, 5, 1]
你也可以使用'l.append(l.pop(0))'。它只是稍微長一些,但它更具可讀性。 – CoreDumpError 2017-01-11 20:27:39
@CoreDumpError是的,它也是這樣。我在'.append()'之前明顯學習了'+ ='語法,因此我偏向於使用它。 – Tim 2017-01-11 20:28:40
如果你不知道該項目的位置,你可能需要首先找到索引:
old_index = list1.index(item)
然後移動它:
list1.insert(new_index, list1.pop(old_index))
或恕我直言,更清潔的方式:
try:
list1.remove(item)
list1.insert(new_index, item)
except ValueError:
pass
一個解決辦法很簡單,但是你要知道原來的位置的索引和新位置的索引:
list1[index1],list1[index2]=list1[index2],list1[index1]
這是一個交換,而不是一個移動。 – juzzlin 2016-11-24 18:19:54
- 1. 將列表中的項目移動到堆棧或隊列中
- 2. 如何移動列表項目?
- 3. 點擊jQuery移動列表項目
- 4. 在列表框之間移動項目
- 5. WPF列表框 - 上下移動項目
- 6. Flex移動拖放列表項目
- 7. 在列表框之間移動項目
- 8. 移動列表可摺疊項目
- 9. 移動列表項目使用jQuery
- 10. 移動項目列表不復制
- 11. 用jquery向上移動列表項目
- 12. 如何移動選定的項目移動到列表
- 13. 動畫添加列表視圖中的項目和項目移動
- 14. 移動在列表框中多選所有選中的項目
- 15. 用循環移動列表中的選中項目
- 16. 在列表視圖C中移動選中的項目組#
- 17. HTML jQuery的舉動從列表框中的項目到另一個列表框,然後移動項目上下
- 18. 使用List將項目移到列表的底部。移動
- 19. 如何數組列表中移動特定項目的第一個項目
- 20. 從列表視圖中移除項目
- 21. 將項目從一個列表移動到另一個列表
- 22. JQuery將列表項目移動到無序列表結尾
- 23. 將列表框項目移動到另一個列表框?
- 24. 將項目從一個列表移動到另一個列表
- 25. c#上下移動列表框中的項目
- 26. 如何在列表框中移動相同的項目
- 27. 在SharePoint 2010列表中的文件夾之間移動項目
- 28. 將選中的項目移動到可擴展列表視圖
- 29. C#拖放當前列表視圖中的項目移動
- 30. jquery一次移動列表框中的所有項目
的可能的複製[簡單的語法將列表元素引入python的前端?](https://stackoverflow.com/questions/1014523/simple-syntax-for-bringing-a-list-element-to-the-front-in-python ) – 2018-02-09 12:25:39