Como determinar o tamanho do vetor em python

9.455 visualizações
Pular para a primeira mensagem não lida

Luiz Carlos

não lida,
25 de ago. de 2009, 14:44:0225/08/2009
para Django Brasil
Como posso determinar o tamho do vetor em python?

Luiz Carlos

Diego Manenti Martins

não lida,
25 de ago. de 2009, 15:16:4725/08/2009
para 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

não lida,
25 de ago. de 2009, 15:20:3725/08/2009
para 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

não lida,
25 de ago. de 2009, 15:45:0425/08/2009
para 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

não lida,
25 de ago. de 2009, 15:46:5925/08/2009
para django...@googlegroups.com
vc não precisa declarar previamente o tamanho de strings em python.

--
[]'
- Walter
waltercruz.com

Luiz Carlos Santos

não lida,
25 de ago. de 2009, 15:55:3725/08/2009
para 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

não lida,
25 de ago. de 2009, 16:02:1025/08/2009
para 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

não lida,
25 de ago. de 2009, 16:06:2725/08/2009
para 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

não lida,
25 de ago. de 2009, 16:08:3225/08/2009
para 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

não lida,
25 de ago. de 2009, 16:12:2825/08/2009
para django...@googlegroups.com
Valeu galera... Conseguir

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

Obrigado pela atenção...

Luiz Carlos

Danilo Cabello

não lida,
25 de ago. de 2009, 18:05:2525/08/2009
para 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

não lida,
25 de ago. de 2009, 19:53:1425/08/2009
para 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:

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

Responder a todos
Responder ao autor
Encaminhar
0 nova mensagem