Como determinar o tamanho do vetor em python

9,455 views
Skip to first unread message

Luiz Carlos

unread,
Aug 25, 2009, 2:44:02 PM8/25/09
to Django Brasil
Como posso determinar o tamho do vetor em python?

Luiz Carlos

Diego Manenti Martins

unread,
Aug 25, 2009, 3:16:47 PM8/25/09
to django...@googlegroups.com
2009/8/25 Luiz Carlos <h2o...@gmail.com>:

>
> Como posso determinar o tamho do vetor em python?

len(vetor)


--
diego

Luiz Carlos Santos

unread,
Aug 25, 2009, 3:20:37 PM8/25/09
to django...@googlegroups.com
Obrigado,

Mas preciso saber de como fazer para determinar o tamanho de
caracteres que minha string pode recebe... Como em C.

Luiz Carlos

Marcel Nicolay

unread,
Aug 25, 2009, 3:45:04 PM8/25/09
to django...@googlegroups.com
Não sei se é isso, mas em python você não precisa definir tamanho de uma string, a tipagem é dinamica.

isso aqui funciona:

    >>> a = 1
>>> type(a) # a função type() retorna o tipo
<type 'int'> # associado a uma variável
>>> a = "1"
>>> type(a)
<type 'str'>
>>> a = 1.0
>>> type(a)
<type 'float'>

sobre vetor, você pode iniciar uma lista e appendar novos itens sem problema:

    >>> a = [66.25, 333, 333, 1, 1234.5]
>>> a.insert(2, -1)
>>> a.append(333)
>>> a
[66.25, 333, -1, 333, 1, 1234.5, 333]
Abs,

Marcel Nicolay
http://marcelnicolay.com

2009/8/25 Luiz Carlos Santos <h2o...@gmail.com>

Walter Cruz

unread,
Aug 25, 2009, 3:46:59 PM8/25/09
to django...@googlegroups.com
vc não precisa declarar previamente o tamanho de strings em python.

--
[]'
- Walter
waltercruz.com

Luiz Carlos Santos

unread,
Aug 25, 2009, 3:55:37 PM8/25/09
to django...@googlegroups.com
Esse é o problema, preciso alocar todo o espaço antes que vou usar com
vazio, entendem.

Preciso da certeza que não alocar mais do que precisar...

Luiz Carlos

Diego Manenti Martins

unread,
Aug 25, 2009, 4:02:10 PM8/25/09
to django...@googlegroups.com
2009/8/25 Luiz Carlos Santos <h2o...@gmail.com>:

>
> Esse é o problema, preciso alocar todo o espaço antes que vou usar com
> vazio, entendem.
não.

>
> Preciso da certeza que não alocar mais do que precisar...

o que queres fazer?


--
diego

Walter Cruz

unread,
Aug 25, 2009, 4:06:27 PM8/25/09
to django...@googlegroups.com
2009/8/25 Luiz Carlos Santos <h2o...@gmail.com>
Esse é o problema, preciso alocar todo o espaço antes que vou usar com
vazio, entendem.

Preciso da certeza que não alocar mais do que precisar...

suporia desde o começo que isso não seria necessario..

Python 2.5.4 (r254:67916, Feb 17 2009, 20:16:45)
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> str
<type 'str'>
>>> st = 'a'*1000000000
>>> len(st)
1000000000
>>> st = 'a'
>>> len(st)
1

qual é realmente o seu problema?



--
[]'
- Walter
waltercruz.com

Julio Nobrega

unread,
Aug 25, 2009, 4:08:32 PM8/25/09
to django...@googlegroups.com
Strings em Python são imutáveis, cada vez que você refaz o valor
dela, um novo objeto na memória/vm é feito.

# 'a' é criado na memória, com o símbolo/token "string" apontando pra esse valor
string1 = 'a'
# 'b' é criado na memória, com o símbolo/token "string" apontando pra esse valor
string1 = 'b' # 'b' existe na memória

O quê acontece é que 'a' será garbage collected em algum instante.

Então!

# Começa pequena
string_gigante = 'a'
# Vai crescendo
string_gigante = 'ab'
# Crescendo...
string_gigante = 'abc'
# Ficou gigante
string_gigante = 'abcd'

Na *verdade* cria 4 objetos na memória/vm.

Concidentemente, essa é a razão que na maioria das vezes:

lista = ('a', 'b', 'c')
string = ''.join(lista)

É mais rápido que:

string = 'a'
string += 'b'
string += 'c'

Pois a primeira gera a string de uma vez, enquanto a segunda cria
três valores na memória/vm(a, ab, e abc), com o símbolo "string"
apontando pro terceiro valor.


2009/8/25 Luiz Carlos Santos <h2o...@gmail.com>:
--
Julio Nobrega - http://www.inerciasensorial.com.br

Luiz Carlos Santos

unread,
Aug 25, 2009, 4:12:28 PM8/25/09
to django...@googlegroups.com
Valeu galera... Conseguir

uma solução bobinha... e eu quebrando a cabeça.

Obrigado pela atenção...

Luiz Carlos

Danilo Cabello

unread,
Aug 25, 2009, 6:05:25 PM8/25/09
to django...@googlegroups.com
2009/8/25 Luiz Carlos Santos <h2o...@gmail.com>:
> Valeu galera... Conseguir
>
> uma solução bobinha...  e eu quebrando a cabeça.
>
> Obrigado pela atenção...

Não sei se você percebeu, mas essa thread não serviu pra nada na
lista, você veio com o problema da sua implementação (e não com seu
problema), não disse o que estava tentando fazer e no fim disse que
conseguiu resolver.

Não estou brigando com você, mas pense que além de ser ajudado a lista
deve ter o poder de ajudar e se alguém pesquisar por algo e
infelizmente achar essa thread será inútil.

Luiz Carlos Santos

unread,
Aug 25, 2009, 7:53:14 PM8/25/09
to django...@googlegroups.com
Esclarecendo para a comunidade !!!

Boa noite, Danilo

Estou criando uma função que gera um arquivo de leiaute faço uso
strings e tuplas e estava com dificuldade para implementa-la que
acabei resolvendo utilizando while junto com explicação do colega
Júlio Nóbrega que se encontra logo abaixo, também achei informações
neste site http://pensarpython.incubadora.fapesp.br/portal/livro/capitulo_07.rst/
muito interessante.

Peço desculpas a comunidade pois o meu prazo de entrega está muito
próximo... E cometi está gafe argumentada pelo o colega Danilo.
Agradeço a todos... Estou a disposição para ajudar... como sempre...

Luiz Carlos


----------------------------------------------------------------------------------------------------------------------

Então!

É mais rápido que:

----------------------------------------------------------------------------------------------------------------------

Reply all
Reply to author
Forward
0 new messages