Jump to content

Mudar strings


Go to solution Solved by pwseo,

Recommended Posts

Posted

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

Posted

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!

  • Solution
Posted

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.