splice用法詳解
- C++ 中的 `splice`
- 示例 1:將整個列表 `lst2` 插入到 `lst1` 中某個位置
- 示例 2:將 `lst2` 的一個元素插入到 `lst1` 中某個位置
- Python中的列表切片(Slicing)
- 示例 1:獲取列表的子列表
- 示例 2:修改列表的子列表
- 示例 3:插入子列表
- 示例 4:刪除子列表
- 總結
在C++和Python中,splice
(用于處理序列的部分)有著不同的語法和功能。在C++中,splice
通常與STL的list
容器結合使用,而在Python中,列表切片操作可以實現類似的功能。下面是詳細的用法示例和輸出結果。
C++ 中的 splice
在C++中,splice
是std::list
的一部分,用于將一個列表中的元素移動到另一個列表中。splice
有幾種不同的重載形式,這里我們介紹幾種常見的用法。
示例 1:將整個列表 lst2
插入到 lst1
中某個位置
#include <iostream>
#include <list>int main() {std::list<int> lst1 = {1, 2, 3, 4};std::list<int> lst2 = {5, 6, 7};// 在lst1的第三個位置之后插入lst2auto it = std::next(lst1.begin(), 2);lst1.splice(it, lst2);// 輸出lst1的內容for (int n : lst1) {std::cout << n << " ";}std::cout << std::endl;// 輸出lst2的內容(應該為空)for (int n : lst2) {std::cout << n << " ";}std::cout << std::endl;return 0;
}
輸出結果:
1 2 5 6 7 3 4
(lst2
為空)
示例 2:將 lst2
的一個元素插入到 lst1
中某個位置
#include <iostream>
#include <list>int main() {std::list<int> lst1 = {1, 2, 3, 4};std::list<int> lst2 = {5, 6, 7};// 在lst1的第三個位置之后插入lst2的第二個元素auto it1 = std::next(lst1.begin(), 2);auto it2 = std::next(lst2.begin(), 1);lst1.splice(it1, lst2, it2);// 輸出lst1的內容for (int n : lst1) {std::cout << n << " ";}std::cout << std::endl;// 輸出lst2的內容for (int n : lst2) {std::cout << n << " ";}std::cout << std::endl;return 0;
}
輸出結果:
1 2 6 3 4
5 7
Python中的列表切片(Slicing)
在Python中,列表切片可以用于訪問和修改列表的部分內容。以下是一些示例:
示例 1:獲取列表的子列表
# 創建一個列表
lst = [1, 2, 3, 4, 5, 6, 7]# 獲取從第二個到第四個元素的子列表
sub_lst = lst[1:4]# 輸出結果
print(sub_lst)
輸出結果:
[2, 3, 4]
示例 2:修改列表的子列表
# 創建一個列表
lst = [1, 2, 3, 4, 5, 6, 7]# 將第二個到第四個元素修改為[10, 11, 12]
lst[1:4] = [10, 11, 12]# 輸出結果
print(lst)
輸出結果:
[1, 10, 11, 12, 5, 6, 7]
示例 3:插入子列表
# 創建一個列表
lst = [1, 2, 3, 4, 5, 6, 7]# 在第三個位置插入一個子列表
lst[2:2] = [8, 9]# 輸出結果
print(lst)
輸出結果:
[1, 2, 8, 9, 3, 4, 5, 6, 7]
示例 4:刪除子列表
# 創建一個列表
lst = [1, 2, 3, 4, 5, 6, 7]# 刪除從第二個到第四個元素
del lst[1:4]# 輸出結果
print(lst)
輸出結果:
[1, 5, 6, 7]
總結
-
C++ 中的
splice
:主要用于在std::list
容器中移動元素。它可以移動整個列表、單個元素或一個范圍的元素。 -
Python中的列表切片:用于訪問、修改、插入和刪除列表中的部分內容。切片操作非常靈活,適用于各種序列操作。
-
C++的
splice
專為雙向鏈表設計,而Python的切片操作適用于所有序列類型(如列表、字符串、元組)。