python中列表的切片問題

取a[1:1] 的值是空列表,a[1:1]表示一個位置

a[1:1]=['bletch','xyzzy']
是賦值給 a[1:1]這個位置,a[1:1]在a[1]前面,所以所賦的值插入a[1]前面

㈡ python 列表切片修改後怎麼才能將修改後的列表返回到原列表裡

題主你好,
看不大明白你的問題, 最好放個例子上來.
我猜測一下, 你想表達的意思是否為:
1.假設你有一個原列表 a = [1, 2, 3, 4, 5]
2.對列表a進行切片,得到一個新的列表,如 b = a[1:3] //此時b的值為[2,3]

3. 你對新得到的列表b中的元素進行了修改,如b[0] = 10 //此時b的值為[10,3]
4.你想將b的[10,3]覆蓋回a, 最終得到a的值為: [1,10,3,4,5]
希望題主繼續追問

㈢ Python中列表/字元串切片slice

s='0123456789'
s[::-1]:表示將s倒序排列
s[::-2]:表示將s倒序排列並且步長是2
s[::-3]:表示將s倒序排列並且步長是3

s[:2:-1]:表示將s倒序排列,並且到s的第2個元素就結束
s[1:2:-1]:表示將s倒序排列,並且從第一個元素開始,第二個元素結束

s[-1:-5:-2]:表示將s倒序排列步長為2,也就是'97531'。然後是從s的-1個元素位置開始,也就是9。到s的-5個元素結束,也就是5,但不包括5。最後的結果也就是'97'

㈣ 如何使用Python中的變數對列表進行切片

只需使用兩個變數:
i, j = 2, 4a[i:j]

如果真的需要是一個單一的變數,你可以使用一個元組。

㈤ 在python中如何將list中的元素根據指定字元進行切片

按照你的要求將list中的元素根據指定字元進行切片的Python程序如下

#!/usr/bin/python

b=[]

a=["啊啊啊啊啊","呃呃呃。鵝鵝鵝鵝鵝鵝餓"]

foriinrange(0,len(a)):

b=b+a[i].split("。")

print(b)

㈥ python 列表切片的問題

個人認為,a[]作「讀」操作getter的時候,都會復制。
據文檔a[1:2]會被先翻譯成slice(1, 2, None)切片對象作用於a
a[1]會被翻譯成a.__getitem__(1),該方法返回的id和id(a[1])一致,說明中間有復制發生。
具體可以看源碼,屬於語言未定義的而C實現所具有的特性。

覺得高級語言python不該被誤用成依賴內存。特別是對可變對象mutable去寫地址依賴。
python的高級實現的數組不同於c的低層內存塊式的數組。

㈦ python arry怎麼取列切片

list切片,在「[]」中都有一般都有兩個個「:」分隔符,中文意思是 [開始:結束:步長] 在上版面的案例中,步長是-1所以輸出權的數據就倒序了。沒有賦值(start,stop)就默認為0。sep默認為1且值不能為0。
a[10:20]#前11-20個數
a[:10:2]#前10個數,每兩個取一個
a[::5]#所有數,每5個取一個

python切片中的高級操作:
切片的原理分析:
list的切片,內部是調用getitem,setitem,delitem和slice函數。而slice函數又是和range()函數相關的。
給切片傳遞的鍵是一個特殊的slice對象。該對象擁有可描述所請求切片方位的屬性

㈧ python 嵌套列表可以做切片嗎

list 是 Python 中使用最頻繁的數據類型, 標准庫裡面有豐富的函數可以使用。
不過,如果把多維列表轉換版成一維列表(不知權道這種需求多不多),還真不容易找到好用的函數,
要知道Ruby、Mathematica、Groovy中可是有flatten的啊。

㈨ python 列表切片賦值

切片賦值,得復到的與原變制量無關,是兩個不同的對象;直接賦值,引用的是同一個對象。
請看下例
1、直接賦值。
a=[0,2,3,0]
b=a
print b
del(a[1])
print b
這樣寫得到的結果是:
[0, 2, 3, 0]
[0, 3, 0]

2、切片賦值。
a=[0,2,3,0]
b=a[:]
print b
這樣寫得到的結果是
del(a[1])
print b
[0, 2, 3, 0]
[0, 2, 3, 0]
是不一樣吧?

3、現對它們的id做一下輸出就會發現問題所在;
(1)直接賦值得到的id是一樣的:
[0, 2, 3, 0]
[0, 3, 0]
id(b): 83565448 id(a): 83565448
(2)切片賦值得到的id:
[0, 2, 3, 0]
[0, 2, 3, 0]
id(b): 83250504 id(a): 83250056