Django Python roop

38 views
Skip to first unread message

hito koto

unread,
Jun 11, 2014, 7:21:42 AM6/11/14
to django...@googlegroups.com
Hello, all

I want to change to while statement from for statement, so how can i do to?

this is my c
orrect for statement codes:

def fff(x):
    y = []
    for i in range(len(x)):
        y.append(x[i])
    return y

and i want change to while statement

So, this code have erroes:
TypeError: list indices must be integers, not list
def fff(x):
    y = []
    while x !=[]:
       for i in x:
           y.append(x[i])
    return y

Ilya Kazakevich

unread,
Jun 11, 2014, 8:48:03 AM6/11/14
to django...@googlegroups.com
Hello,

What are you trying to do? Split string? Copy array? You probably need to use builtin functions for that.


Ilya Kazakevich,
JetBrains PyCharm (Best Python/Django IDE)
http://www.jetbrains.com/pycharm/
"Develop with pleasure!"
>--
>You received this message because you are subscribed to the Google Groups
>"Django users" group.
>To unsubscribe from this group and stop receiving emails from it, send an email
>to django-users...@googlegroups.com.
>To post to this group, send email to django...@googlegroups.com.
>Visit this group at http://groups.google.com/group/django-users.
>To view this discussion on the web visit
>https://groups.google.com/d/msgid/django-users/1f5ae7ed-6fa2-4cf0-8ba7-d59
>088ba1cf5%40googlegroups.com
><https://groups.google.com/d/msgid/django-users/1f5ae7ed-6fa2-4cf0-8ba7-d5
>9088ba1cf5%40googlegroups.com?utm_medium=email&utm_source=footer> .
>For more options, visit https://groups.google.com/d/optout.


hito koto

unread,
Jun 11, 2014, 8:49:32 AM6/11/14
to django...@googlegroups.com
MemoryError , Why? idon't know.
I try this have Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 5, in foo
MemoryError errors: 

I'm change to this code: have the Memory Error,

def foo(x):

    y = []
    while x != []:
        for i in range(len(x)):
            y.append(x[i])
    return y



2014年6月11日水曜日 20時21分42秒 UTC+9 hito koto:

moqia...@gmail.com

unread,
Jun 11, 2014, 8:52:54 AM6/11/14
to django-users
Hi, hito koto:
I think  the problems you asked should be post in python-lang mail-list.
For python program,  I prefer "for", not "while";  It's more simpler.
But  if you like while, I think the following code maybe helpful:
 
def fff(x):
y = []
i = 0
xlen = len(x)
while i< xlen:
y.append(x[i])
i += 1
return y
 
but I more like the follow writing:
def fff(x):
return x[:]
 
or you just do as following:
y  = x[:]
 
python is a power & beautiful language,  
please read the  https://docs.python.org/2/tutorial/ at first like  François said.
 
With Regards.
 

--

hito koto

unread,
Jun 11, 2014, 8:55:27 AM6/11/14
to django...@googlegroups.com
hi, Ilya Kazakevich:

I would like to change the while statement from the for statement

2014年6月11日水曜日 21時49分32秒 UTC+9 hito koto:
Message has been deleted

hito koto

unread,
Jun 11, 2014, 9:05:44 AM6/11/14
to django...@googlegroups.com

Hi, qiancong:
Thank you,
Do you not use the while statement to Django?


2014年6月11日水曜日 21時52分54秒 UTC+9 Qiancong:


moqia...@gmail.com

unread,
Jun 11, 2014, 9:08:09 AM6/11/14
to django-users
In your function, if x is not a empty list,  then while will be a infinite loop, x always not be  [];
then the inner for-loop  will append many many items into y list, Then your computer will say "have the Memory Error",  to tell you the memory not enought.
 
 

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com.
To post to this group, send email to django...@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.

Erik Cederstrand

unread,
Jun 11, 2014, 9:11:54 AM6/11/14
to Django Users
Den 11/06/2014 kl. 14.49 skrev hito koto <hitoko...@gmail.com>:

> MemoryError , Why? idon't know.
> I try this have Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> File "<stdin>", line 5, in foo
> MemoryError errors:
>
> I'm change to this code: have the Memory Error,
>
> def foo(x):
> y = []
> while x != []:
> for i in range(len(x)):
> y.append(x[i])
> return y

Your function doesn't modify "x", so "x != []" is always true. You created an endless loop which appends "y" until memory is exhausted. Hence the MemoryError.

These aren't Django-specific questions anymore, so you should head over to a Python mailing list to get further help with basic Python programming.

Erik

moqia...@gmail.com

unread,
Jun 11, 2014, 9:12:41 AM6/11/14
to django-users
Sometimes, I have to use while statement too. But any time, I think
write right code, write clean code,  It's a basic rule for our develope work.
 

 
From: hito koto
Date: 2014-06-11 21:05
Subject: Re: Django Python roop
--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com.
To post to this group, send email to django...@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.

Javier Guerra Giraldez

unread,
Jun 11, 2014, 9:32:53 AM6/11/14
to django...@googlegroups.com
On Wed, Jun 11, 2014 at 8:12 AM, moqia...@gmail.com
<moqia...@gmail.com> wrote:
> write right code, write clean code, It's a basic rule for our develope
> work.


for that you have to learn what the code means. "while x !=[]:" will
always be an endless loop. the "[]" doesn't do what you think.

--
Javier

hito koto

unread,
Jun 11, 2014, 9:34:12 AM6/11/14
to django...@googlegroups.com
Ok, thank you!

2014年6月11日水曜日 21時52分54秒 UTC+9 Qiancong:

Reply all
Reply to author
Forward
0 new messages