Hi Ganesh, Op 2017-07-27, Ganesh Pal schreef <ganesh1...@gmail.com>:
> I have a list with say 7 elements say if I need to unpack first 3 > elements in the list and pass it an argument to the new fuction, here is > my elementary code One way to do exactly what you request here is: new_function(*my_list[:3]) Explanation: 1. my_list[:3] produces a list of the first 3 elements of my_list 2. new_function(*some_sequence) (Note the * in the calling syntax!) is equivalent to calling new_function with all the elements of some_sequence individually: new_function(some_sequence[0], some_sequence[1], ...) But I observe that this is slightly different from the code you actually present: > ... var1,var2,var3,var4,var5,var6,var7 = my_list > ... var8 = get_eighth_element(var1,int(var2),int(var3)) This code actually converts var2 and var3 into an integer first. (By calling int). Short intermezzo: I notice that you are apparently using Python 2, because of this code: > ….print my_list This code would be print(my_list) in Python 3. If you are just learning Python and there is no particular reason you need Python 2, I would recommend Python 3 at this point. Python 2 is still supported but only until 2020 so you may want to invest in something more future-proof. Anyway, the reason I bring it up is because in Python 3 you can do: var1,var2,var3,*_ = my_list var8 = get_eighth_element(var1,int(var2),int(var3)) This will work for any my_list which has at least 3 elements. The syntax *_ binds the rest of the list to the variable _. _ is a conventional name for a variable in which value you are not interested. If backward-compatibility with Python 2 is important, you can do instead: var1,var2,var3 = my_list[:3] var8 = get_eighth_element(var1,int(var2),int(var3)) Finally, I would want to point out that if these fields of the list have some specific meaning (e.g. my_list[0] is first name, my_list[1] is last name, my_list[2] is address, etc..), then a more idiomatic Python solution would be to define a class with named members for these things: class Person: def __init__(self, first_name, last_name, address, city): self.first_name = first_name self.last_name = last_name self.address = address self.city = city Greetings, Stephan -- https://mail.python.org/mailman/listinfo/python-list