Re: Delete all list entries of length unknown
On Oct 4, 11:05 pm, "Mark Tolonen" wrote: > "Chris Rebert" wrote in message > > Tuples are immutable (i.e. they cannot be modified after creation) and > > are createdusingparentheses. > > Slight correction: tuples are createdusingcommas. Parentheses are only > needed to disambiguate from other uses ofcomma: > > Python 2.6.2 (r262:71605, Apr 14 2009, 22:40:02) [MSC v.1500 32 bit (Intel)] > on win32 > Type "help", "copyright", "credits" or "license" for more information.>>> a=1, > >>> a > (1,) > >>> a=1,2,3 > >>> a > > (1, 2, 3) uhh? what python you using? >>> t = () >>> t () >>> type(t) ;-) -- http://mail.python.org/mailman/listinfo/python-list
Re: Delete all list entries of length unknown
On Oct 5, 3:05 pm, "Mark Tolonen" wrote: > "Chris Rebert" wrote in message > > news:50697b2c0910042047i1cf2c1a3mc388bc74bab95...@mail.gmail.com... > > > Tuples are immutable (i.e. they cannot be modified after creation) and > > are created using parentheses. > > Slight correction: tuples are created using commas. Parentheses are only > needed to disambiguate from other uses of comma: > > Python 2.6.2 (r262:71605, Apr 14 2009, 22:40:02) [MSC v.1500 32 bit (Intel)] > on win32 > Type "help", "copyright", "credits" or "license" for more information.>>> a=1, > >>> a > (1,) > >>> a=1,2,3 > >>> a > > (1, 2, 3) > > -Mark Awesome that has cleared it up for me, plus a bit more thanks. -- http://mail.python.org/mailman/listinfo/python-list
Re: Delete all list entries of length unknown
"Chris Rebert" wrote in message news:50697b2c0910042047i1cf2c1a3mc388bc74bab95...@mail.gmail.com... Tuples are immutable (i.e. they cannot be modified after creation) and are created using parentheses. Slight correction: tuples are created using commas. Parentheses are only needed to disambiguate from other uses of comma: Python 2.6.2 (r262:71605, Apr 14 2009, 22:40:02) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. a=1, a (1,) a=1,2,3 a (1, 2, 3) -Mark -- http://mail.python.org/mailman/listinfo/python-list
Re: Delete all list entries of length unknown
On Oct 4, 10:09 pm, flebber wrote: > Hi > > Can someone clear up how I can remove all entries of a list when I am > unsure how many entries there will be. Sure...! >>> a = range(10) >>> a [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> del a[0] >>> a [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> del a[-1] >>> a [1, 2, 3, 4, 5, 6, 7, 8] >>> del a[:] >>> a [] or you could simple say >>> a = [] ;-) -- http://mail.python.org/mailman/listinfo/python-list
Re: Delete all list entries of length unknown
On Sun, Oct 4, 2009 at 8:09 PM, flebber wrote: > Hi > > Can someone clear up how I can remove all entries of a list when I am > unsure how many entries there will be. I have been using sandbox to > play essentially I am creating two lists a and b I then want to add a > to b and remove all b entries. This will loop and b will receive new > entries add it to a and delete again. > > I am going wrong with slice and list deletion, I assign x = len(b) and > then attempting to delete based on this. Here is my sandbox session. > What part am I getting wrong? > > #>>> > a = (1, 2, 3, 4) > b = (5, 6, 7, 8) > x = len(b) > #>>> > del b[0:x] > Traceback (most recent call last): > Error: File "", line 1, in > Error: TypeError: 'tuple' object does not support item deletion As the error message says, you're using *tuples*, not lists. Tuples are immutable (i.e. they cannot be modified after creation) and are created using parentheses. Lists on the other hand are made using brackets: [1, 2, 3, 4] # like this Additionally, the idiomatic way to clear a list (besides the more obvious approach of just assigning a new, empty list to the variable) is: del a[:] Leaving out the endpoints in the slice causes it to default to the entire contents of the list. Cheers, Chris -- http://blog.rebertia.com -- http://mail.python.org/mailman/listinfo/python-list
Delete all list entries of length unknown
Hi Can someone clear up how I can remove all entries of a list when I am unsure how many entries there will be. I have been using sandbox to play essentially I am creating two lists a and b I then want to add a to b and remove all b entries. This will loop and b will receive new entries add it to a and delete again. I am going wrong with slice and list deletion, I assign x = len(b) and then attempting to delete based on this. Here is my sandbox session. What part am I getting wrong? #>>> a = (1, 2, 3, 4) b = (5, 6, 7, 8) #>>> a #--- (1, 2, 3, 4) #>>> b #--- (5, 6, 7, 8) #>>> a + b #--- (1, 2, 3, 4, 5, 6, 7, 8) #>>> b #--- (5, 6, 7, 8) #>>> len(b) #--- 4 #>>> x = len(b) #>>> del b[0:x] Traceback (most recent call last): Error: File "", line 1, in Error: TypeError: 'tuple' object does not support item deletion #>>> b[0:x] = d Traceback (most recent call last): Error: File "", line 1, in Error: NameError: name 'd' is not defined #>>> -- http://mail.python.org/mailman/listinfo/python-list