Lerp doesnt seem to work

i have a rope with 12 empty gameobjects with triggered colliders.
when the user presses the up and down arrows the players position is changed to that of the triggered colliders and this allows me to climb up and down.

How the problem is that is travels up and and down too fast when holding down the buttons and i cant seem to slow this down…any ideas? tried lerping but that didnt fix it at all

EDIT: HERES IS MY CODE

// Moving up and down the Vine
if( Input.GetKey("up") )
{
		playerTransform.position			=	Vector3.Lerp(playerTransform.position, curSegment.position, 50);
		playerTransform.transform.parent	=	curSegment.transform;
}

usually the t parameter of lerp will take a value of 0 to 1. so if you want your object to reach the destination in 3 seconds, what you should be doing is

first on keypress save the time,

float initialTime=Time.time;

and in update or somewhere call this,

float t=(Time.time-initialTime)/3.0f;

and pass the value to as the parameter to Lerp function.

so the general formulae should be

(finalTime-initialTime)/duration;

make sure that the initialTime is global and is set only when the keypress happens.