रुपेश पवार
IT Professional 5+ वर्षांचा अनुभव
प्रकाशित
19 July २०२६
वाचण्याचा वेळ
12 मिनिटे
स्तर
Beginner
Table of Contents
तुम्ही जर Python शिकायला नुकतीच सुरुवात केली असेल, तर तुम्हाला “List” हा शब्द नक्कीच ऐकायला मिळाला असेल. Python मधील सगळ्यात जास्त वापरल्या जाणाऱ्या Data Structures पैकी List ही एक आहे. जवळपास प्रत्येक Python Program मध्ये कधी ना कधी List वापरली जातेच.
तर मग प्रश्न असा येतो की Python List म्हणजे नक्की काय? सोप्या भाषेत सांगायचं झालं तर, List म्हणजे एका ठिकाणी अनेक Values एकत्र Store करण्याची पद्धत. समजा तुम्हाला तुमच्या वर्गातील ५ मित्रांची नावं एका ठिकाणी ठेवायची आहेत, तर त्यासाठी तुम्ही ५ वेगवेगळे Variables बनवण्याऐवजी एकच List वापरू शकता.
Beginners नी List शिकणं का गरजेचं आहे? कारण Python मधील जवळपास प्रत्येक Real-world Application मध्ये – मग ते Data Analysis असो, Web Development असो किंवा Machine Learning असो – List चा वापर केला जातो. Interview मध्ये सुद्धा List संबंधित Questions हमखास विचारले जातात.
List चा वापर कुठे कुठे होतो? Student Management System मध्ये Students ची यादी ठेवायला, Shopping Cart मध्ये Products ठेवायला, To-do List Apps मध्ये Tasks ठेवायला – अशा अनेक ठिकाणी List चा उपयोग होतो.
या Article मध्ये तुम्हाला काय शिकायला मिळणार आहे? आपण सुरुवातीपासून म्हणजे List म्हणजे काय इथपासून सुरुवात करून, List चे Features, Syntax, सगळे Methods, Operations, List Comprehension, List आणि Tuple मधील फरक, Common Mistakes, Best Practices आणि शेवटी Interview Questions पर्यंत सगळं शिकणार आहोत. चला तर मग सुरुवात करूया.
What is Python List?
Python List म्हणजे Python मधील एक Built-in Data Structure आहे, जी Multiple Items एकाच Variable मध्ये Store करण्यासाठी वापरली जाते. List मधील प्रत्येक Item ला “Element” असं म्हणतात आणि हे सगळे Elements Square Brackets [ ] मध्ये आणि Comma ने Separate करून लिहिले जातात.
fruits = ["Apple", "Banana", "Mango"] print(fruits)
Output: [‘Apple’, ‘Banana’, ‘Mango’]
Real-life Example: समजा तुम्ही Grocery Store मध्ये गेला आहात आणि तुमच्याकडे एक Shopping List आहे – दूध, ब्रेड, अंडी, साखर. ही Real Life मधील List प्रमाणेच Python List काम करते. एका ठिकाणी सगळ्या वस्तूंची नोंद, आणि गरज पडेल तेव्हा त्यात वस्तू Add किंवा Remove करता येतात.
Why Python List is important?
List मुळे आपल्याला वेगवेगळे Variables तयार करण्याची गरज पडत नाही. समजा १०० Students चे Marks ठेवायचे असतील, तर १०० Variables बनवण्याऐवजी एकच List वापरून काम होतं. यामुळे Code Clean, Short आणि Manage करायला सोपा होतो.
Advantages:
- एकाच Variable मध्ये Multiple Values Store करता येतात
- Data Type Flexible असतो (Numbers, Strings, अगदी दुसरी List सुद्धा ठेवता येते)
- Elements Add, Remove, Update करणं सोपं असतं
- Built-in Methods मुळे Data वर वेगवेगळ्या Operations पटकन करता येतात
- Real-world Data Handle करण्यासाठी सर्वात Flexible Structure आहे
Important Note: Python मध्ये List ही Mutable असते, म्हणजेच ती तयार झाल्यानंतर सुद्धा तिच्यात बदल करता येतात. हे एक महत्त्वाचं Feature आहे जे पुढे आपण सविस्तर बघणार आहोत.
Features of Python List
Python List चे मुख्य Features खालीलप्रमाणे आहेत:
1. Ordered: List मधील Elements एका ठराविक Order मध्ये Store होतात, आणि हा Order तसाच राहतो जोपर्यंत तुम्ही स्वतः बदल करत नाही.
numbers = [10, 20, 30] print(numbers)
Output: [10, 20, 30]
Explanation: इथे 10, 20, 30 हा Order कायम राहतो. List मध्ये टाकलेला Order बदलत नाही, त्यामुळे Index वापरून आपल्याला हवा तो Element मिळवता येतो.
2. Mutable: List तयार झाल्यानंतर सुद्धा तिच्यातील Elements बदलता येतात, नवीन Elements Add करता येतात किंवा जुने काढून टाकता येतात.
colors = ["Red", "Green", "Blue"] colors[0] = "Yellow" print(colors)
Output: [‘Yellow’, ‘Green’, ‘Blue’]
Real-life Use Case: समजा To-do List App मध्ये तुम्ही एखादं Task पूर्ण केलं, तर ते List मधून Remove करता येतं. हे Mutable Feature मुळेच शक्य आहे.
3. Indexed: List मधील प्रत्येक Element ला एक Index Number असतो, जो 0 पासून सुरू होतो.
names = ["Amit", "Sanjay", "Priya"] print(names[1])
Output: Sanjay
4. Allows Duplicate Values:
List मध्ये एकच Value अनेक वेळा Store करता येते.
marks = [90, 85, 90, 70, 90] print(marks)
Output: [90, 85, 90, 70, 90]
Explanation: इथे 90 ही Value तीन वेळा आहे, आणि Python ला त्याबद्दल काहीच अडचण नाही.
5. Can Store Multiple Data Types:
एकाच List मध्ये Numbers, Strings, Boolean आणि अगदी दुसरी List सुद्धा एकत्र ठेवता येते.
mixed = [1, "Hello", 3.5, True, [10, 20]] print(mixed)
Output: [1, ‘Hello’, 3.5, True, [10, 20]]
6. Dynamic Size:
List चा Size Fixed नसतो. गरजेप्रमाणे तुम्ही त्यात Elements Add किंवा Remove करू शकता, आणि List चा Size आपोआप वाढतो किंवा कमी होतो.
data = [1, 2, 3] data.append(4) print(data)
Output: [1, 2, 3, 4]
Pro Tip: Array सारख्या Fixed Size Structures पेक्षा Python List जास्त Flexible आहे, म्हणूनच Beginners साठी List शिकणं खूप Useful ठरतं.
Python List Syntax
Python List बनवण्याचा Basic Syntax खूप सोपा आहे:
list_name = [element1, element2, element3, ...]
प्रत्येक भागाचं Explanation:
list_name– हे तुम्ही तुमच्या List ला दिलेलं नाव आहे (Variable Name)[ ]– Square Brackets List Define करण्यासाठी वापरले जातातelement1, element2– हे List मधील वेगवेगळे Values आहेत, जे Comma ने Separate केले जातात
students = ["Rahul", "Neha", "Kiran"] print(type(students))
Output: <class ‘list’>
Explanation: type() Function वापरून आपण बघू शकतो की Variable कोणत्या Data Type चा आहे. इथे तो list आहे हे स्पष्ट दिसतंय.
Creating Python Lists
Python मध्ये List बनवण्याचे वेगवेगळे प्रकार आहेत. चला एक एक करून बघूया.
Empty List:
empty_list = [] print(empty_list)
Output: []
Real-life Use Case: समजा तुम्ही एक Attendance System बनवत आहात, आणि सुरुवातीला कोणीच Present नाही, तर तुम्ही Empty List पासून सुरुवात कराल आणि नंतर Names Add कराल.
Single Item List:
single_item = ["Python"] print(single_item)
Output: [‘Python’]
Warning: Single Item List बनवताना Comma विसरू नका, नाहीतर ती List न राहता फक्त एक Normal Value बनते. उदाहरणार्थ ("Python") ही Tuple सुद्धा नाही, ती फक्त String आहे.
Multiple Items:
subjects = ["Maths", "Science", "English", "Marathi"] print(subjects)
Output: [‘Maths’, ‘Science’, ‘English’, ‘Marathi’]
Mixed Data Types:
student_info = ["Ravi", 21, 8.5, True] print(student_info)
Output: [‘Ravi’, 21, 8.5, True]
Explanation: इथे नाव (String), वय (Integer), CGPA (Float) आणि Pass/Fail Status (Boolean) एकाच List मध्ये आहे.
Nested List:
nested = [[1, 2, 3], ["a", "b", "c"]] print(nested)
Output: [[1, 2, 3], [‘a’, ‘b’, ‘c’]]
Real-life Use Case: Nested List चा उपयोग Matrix, Table किंवा Grid सारखा Data ठेवण्यासाठी होतो. उदाहरणार्थ, Tic-Tac-Toe Game मधील Board बनवायला Nested List वापरतात.
Accessing List Elements
List मधील Elements मिळवण्यासाठी Index Number वापरला जातो.
Positive Index:
Positive Index 0 पासून सुरू होतो, म्हणजे पहिला Element Index 0 वर असतो.
fruits = ["Apple", "Banana", "Mango", "Orange"] print(fruits[0]) print(fruits[2])
Output: Apple Mango
Negative Index:
Negative Index शेवटून मोजला जातो. -1 म्हणजे शेवटचा Element.
fruits = ["Apple", "Banana", "Mango", "Orange"] print(fruits[-1]) print(fruits[-2])
Output: Orange Mango
Explanation: Negative Index वापरल्यामुळे List ची Length माहीत नसतानाही शेवटचे Elements सहज मिळवता येतात.
Nested Index:
Nested List मधून Element काढण्यासाठी Double Index वापरावी लागते.
matrix = [[1, 2], [3, 4]] print(matrix[1][0])
Output: 3
Explanation: पहिला Index [1] Outer List मधील दुसरा Element ([3, 4]) निवडतो, आणि दुसरा Index [0] त्या Inner List मधील पहिला Element (3) निवडतो.
Python List Slicing
Slicing म्हणजे List मधील ठराविक Part (Sub-list) काढून घेणं.
Syntax:
list_name[start:stop:step]
start– कुठून सुरू करायचं (Included)stop– कुठे थांबायचं (Excluded)step– किती अंतराने Elements घ्यायचे
numbers = [10, 20, 30, 40, 50, 60] print(numbers[1:4]) print(numbers[:3]) print(numbers[::2])
Output: [20, 30, 40]
[10, 20, 30]
[10, 30, 50]
Explanation: [1:4] Index 1 पासून Index 3 पर्यंत Elements देतं (4 Include होत नाही). [:3] सुरुवातीपासून Index 2 पर्यंत देतं. [::2] प्रत्येक दुसरा Element देतं.
Real Use Case: समजा तुमच्याकडे १०० Students चे Marks आहेत आणि फक्त पहिल्या १० Students चे Marks बघायचे आहेत, तर Slicing वापरून marks[0:10] असं सहज करता येतं.
Python List Methods
Python मध्ये List वर काम करण्यासाठी अनेक Built-in Methods आहेत. एक एक करून बघूया.
append(): List च्या शेवटी एक नवीन Element Add करतं.
fruits = ["Apple", "Banana"] fruits.append("Mango") print(fruits)Output: [‘Apple’, ‘Banana’, ‘Mango’]
Use Case: Shopping Cart मध्ये नवीन Product Add करताना append() वापरतात.
extend(): एका List मध्ये दुसऱ्या List चे सगळे Elements Add करतं.
fruits = ["Apple", "Banana"] more_fruits = ["Mango", "Orange"] fruits.extend(more_fruits) print(fruits)
Output: [‘Apple’, ‘Banana’, ‘Mango’, ‘Orange’]
insert(): ठराविक Index वर नवीन Element Insert करतं.
fruits = ["Apple", "Mango"] fruits.insert(1, "Banana") print(fruits)
Output: [‘Apple’, ‘Banana’, ‘Mango’]
remove(): List मधून ठराविक Value काढून टाकतं (पहिली Matching Value).
fruits = ["Apple", "Banana", "Mango"]
fruits.remove("Banana")
print(fruits)Output: [‘Apple’, ‘Mango’]
pop(): ठराविक Index वरील Element काढून टाकतं आणि तो Return करतं. Index न दिल्यास शेवटचा Element काढतं.
fruits = ["Apple", "Banana", "Mango"] removed_item = fruits.pop(1) print(removed_item) print(fruits)
Output: Banana [‘Apple’, ‘Mango’]
clear(): List मधील सगळे Elements काढून टाकून ती Empty करतं.
fruits = ["Apple", "Banana", "Mango"] fruits.clear() print(fruits)
Output: []
index(): दिलेली Value List मध्ये कोणत्या Index वर आहे ते सांगतं.
fruits = ["Apple", "Banana", "Mango"]
print(fruits.index("Mango"))Output: 2
count(): दिलेली Value List मध्ये किती वेळा आहे ते Count करतं.
marks = [90, 85, 90, 70, 90] print(marks.count(90))
Output: 3
sort(): List मधील Elements Ascending Order मध्ये Arrange करतं (Original List बदलते).
numbers = [40, 10, 30, 20] numbers.sort() print(numbers)
Output: [10, 20, 30, 40]
Pro Tip: Descending Order साठी numbers.sort(reverse=True) वापरा.
reverse(): List मधील Elements चा Order उलटा करतं
numbers = [10, 20, 30] numbers.reverse() print(numbers)
Output: [30, 20, 10]
copy(): List ची Copy बनवतं, जेणेकरून Original List वर परिणाम न होता Copy वर काम करता येतं.
original = [1, 2, 3] new_list = original.copy() new_list.append(4) print(original) print(new_list)
Output: [1, 2, 3] [1, 2, 3, 4]
Explanation: copy() न वापरता जर new_list = original असं केलं असतं, तर Original List मध्ये सुद्धा बदल झाला असता, कारण दोन्ही Variables एकाच List ला Point करतात.
Python List Operations
Concatenation (+)
list1 = [1, 2, 3] list2 = [4, 5, 6] result = list1 + list2 print(result)
Output: [1, 2, 3, 4, 5, 6]
Repetition (*)
list1 = ["Hi"] result = list1 * 3 print(result)
Output: [‘Hi’, ‘Hi’, ‘Hi’]
Membership (in / not in):
fruits = ["Apple", "Banana"]
print("Apple" in fruits)
print("Mango" not in fruits)Output: True, True
Iteration:
fruits = ["Apple", "Banana"]
for fruit in fruits:
print(fruit)Output: Apple, Banana
Length:
fruits = ["Apple", "Banana", "Mango"] print(len(fruits))
Output: 3
Max, Min, Sum
numbers = [10, 20, 30] print(max(numbers)) print(min(numbers)) print(sum(numbers))
Output: 30, 10, 60
Sorted:
sorted() Function Original List न बदलता Sorted Copy Return करतं.
numbers = [30, 10, 20] result = sorted(numbers) print(result) print(numbers)
Output: [10, 20, 30] [30, 10, 20]
Explanation: sort() आणि sorted() मधील मुख्य फरक हाच आहे – sort() Original List बदलतं, तर sorted() नवीन List Return करतं आणि Original तशीच ठेवतं.
Loop Through List
For Loop
colors = ["Red", "Green", "Blue"]
for color in colors:
print(color)Output: Red Green Blue
While Loop:
colors = ["Red", "Green", "Blue"]
i = 0
while i < len(colors):
print(colors[i])
i += 1Output: Red Green Blue
Enumerate: enumerate() वापरून आपल्याला Element सोबत त्याचा Index Number सुद्धा मिळतो.
colors = ["Red", "Green", "Blue"]
for index, color in enumerate(colors):
print(index, color)Output: 0 Red 1 Green 2 Blue
Real Use Case: Quiz App मध्ये Questions ला Number देऊन दाखवायचे असतील, तर enumerate() खूप उपयोगी येतं.
Nested Lists
Nested List म्हणजे List च्या आत List. हे Data ला Row-Column च्या स्वरूपात ठेवण्यासाठी उपयोगी पडतं.
students = [["Amit", 85], ["Sneha", 90], ["Rahul", 78]]
for student in students:
print(student[0], "-", student[1])Output: Amit – 85 Sneha – 90 Rahul – 78
Real Use Case: Excel Sheet सारखा Data, Game Board, किंवा Matrix Calculations साठी Nested List वापरली जाते.
List Comprehension
List Comprehension म्हणजे एका Line मध्ये List बनवण्याची Short आणि Fast पद्धत.
Syntax:
[expression for item in iterable if condition]
Normal Method:
squares = [] for i in range(1, 6): squares.append(i * i) print(squares)
List Comprehension Method:
squares = [i * i for i in range(1, 6)] print(squares)
Output (दोन्हीसाठी सारखं): [1, 4, 9, 16, 25]
Condition सोबत Example:
even_numbers = [i for i in range(1, 11) if i % 2 == 0] print(even_numbers)
Output: [2, 4, 6, 8, 10]
Advantages:
- Code Short आणि Readable होतो.
- Normal Loop पेक्षा Faster असतं.
- एका Line मध्ये Filtering आणि Transformation दोन्ही करता येतं.
Real-world Example: समजा तुम्हाला Students च्या List मधून फक्त Pass झालेल्या Students ची (Marks ≥ 40) नवीन List बनवायची आहे:
marks = [55, 30, 78, 20, 90] passed = [m for m in marks if m >= 40] print(passed)
Output: [55, 78, 90]
Difference Between List and Tuple
| Feature | List | Tuple |
|---|---|---|
| Mutability | Mutable (बदलता येते) | Immutable (बदलता येत नाही) |
| Syntax | Square Brackets [ ] | Round Brackets ( ) |
| Performance | तुलनेने Slow | Fast |
| Memory | जास्त Memory वापरते | कमी Memory वापरते |
| Use Case | Data बदलणार असेल तेव्हा | Data Fix ठेवायचं असेल तेव्हा |
my_list = [1, 2, 3] my_tuple = (1, 2, 3) my_list[0] = 100 print(my_list)
Output: [100, 2, 3]
Explanation: List मधील Value बदलता आली, पण जर तुम्ही Tuple मध्ये असंच करायचा प्रयत्न केला, तर Python Error देईल कारण Tuple Immutable असते.
Important Note: जिथे Data सतत बदलणार आहे (उदा. Shopping Cart) तिथे List वापरा. जिथे Data कधीच बदलायचं नाही (उदा. आठवड्याचे ७ दिवस) तिथे Tuple वापरा.
FAQs Python List
Q1. Python List म्हणजे काय?
Ans: Python List ही एक Ordered आणि Mutable Data Structure आहे, जी Multiple Values एकत्र Store करते.
Q2. List आणि Array मध्ये काय फरक आहे?
Ans: List Dynamic आणि वेगवेगळे Data Types Store करू शकते, तर Array (NumPy) सहसा एकाच Data Type साठी वापरला जातो आणि Performance मध्ये Fast असतो.
Q3. List Mutable आहे हे कसं सिद्ध कराल?
Ans: List तयार झाल्यानंतर Index वापरून त्यातील Value बदलता येते, हे तिचं Mutable असणं दाखवतं.
Q4. append() आणि extend() मध्ये फरक काय?
Ans: append() एकच Element Add करतं, तर extend() दुसऱ्या Iterable मधील सगळे Elements एकत्र Add करतं.
Q5. sort() आणि sorted() मध्ये फरक काय?
Ans: sort() Original List Modify करतं, तर sorted() नवीन Sorted List Return करतं आणि Original List तशीच राहते.
Q6. List Slicing कशी काम करते?
Ans: Slicing मुळे List मधील ठराविक Range चे Elements start:stop:step या Syntax वापरून काढता येतात.
Q7. Negative Index म्हणजे काय?
Ans: Negative Index List च्या शेवटून Count करतो, -1 म्हणजे शेवटचा Element.
Q8. List Comprehension चा फायदा काय?
Ans: List Comprehension मुळे Code Short, Readable आणि साधारणपणे Normal Loop पेक्षा Fast होतो.
Q9. Nested List म्हणजे काय?
Ans: List च्या आत असलेली दुसरी List म्हणजे Nested List, जी Matrix किंवा Table सारखा Data ठेवण्यासाठी वापरली जाते.
Q10. List मधील Duplicate Values कशा Remove कराल?
Ans: list(set(my_list)) वापरून Duplicate Values Remove करता येतात, पण यामुळे Order बदलू शकतो.


