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