Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #59 da revista programar. Faz já o download aqui!

nuno35

[Resolvido] Mudar strings

Mensagens Recomendadas

nuno35    0
nuno35

Boa Tarde

Tenho aqui uma duvida um bocado banal mas queria arranjar a maneira mais simples de a resolver poe exemplo eu tenho uma funçao que recebe 4 valores(strings)


funcao(var1,var2,var3,var4)

Os valores 'var3' e 'var4' sao sempre os mesmo mas o 'var1' e 'var2' tenho de os ir buscar a um dicionario e eles no dicionario estao assim:

'(var1,var2)'

se eu puser por exemplo j='(var1,var2)' e fizer:

funcao(j,'c','d')  

Vai dar erro por causa dos pareteses a minha duvida é como é que posso tirar os parenteses?

Desde já Obrigado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
djthyrax    10
djthyrax

Em princípio deverás conseguir fazer funcao(*j, 'a', 'b'). Em último caso poder fazer algo tipo j = j+('a', 'b') seguido de f(*j). Também podes usar f(**j) se j for um dicionário tipo {'var1': 1, 'var2': 'avc'}


Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pwseo    223
pwseo

djthyrax,

Só podes utilizar argument unpacking como último argumento para uma função ou se os argumentos seguintes forem todos named arguments.

Uma solução seria inverter a ordem dos argumentos, recebendo var1 e var2 como os dois últimos argumentos:

>>> def f(c,d,a,b):
...     print a, b, c, d
... 
>>> a = (1, 2)
>>> f(3, 4, *a)
1 2 3 4

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.