objlist: Implement growing slice assignment.

This means that complete slice operations are supported for lists (but not
for bytearray's and array.array's).
This commit is contained in:
Paul Sokolovsky
2014-05-25 02:36:12 +03:00
parent 69d081a7cf
commit 2705f4c782
3 changed files with 47 additions and 5 deletions

View File

@@ -0,0 +1,28 @@
x = list(range(2))
l = list(x)
l[0:0] = [10]
print(l)
l = list(x)
l[:0] = [10, 20]
print(l)
l = list(x)
l[0:0] = [10, 20, 30, 40]
print(l)
l = list(x)
l[1:1] = [10, 20, 30, 40]
print(l)
l = list(x)
l[2:] = [10, 20, 30, 40]
print(l)
# Weird cases
l = list(x)
l[1:0] = [10, 20, 30, 40]
print(l)
l = list(x)
l[100:100] = [10, 20, 30, 40]
print(l)