for Retrieving elements from an array, there are two different ways
- Single element Retrieval
- Multiple elements retrieval using slicing.
- A collection of elements each identified by an array index.
- Index start at zero(0) array.Because of the index, random access of elements is possible.
- Use [] parenthesis to retrieve an element from an array
- Array elements can be accessed using positive index start from the first element in the array
like 0,1,2,3,4...
- Array elements also can be accessed using negative indexes which start from ending of the list
like -1,-2,-3,-4..
Syntax:
array_name[index]
Example:
import array
data=array.array("i",[20,10,15,23])
#for 20 use 0 index to get value from it
result=data[0]
print("Element At 0 Index")
print(result)
#Result:20
#Access 20 using negative index
result=data[-4]
print("\nGet 20 Element Using Negative Index")
print(result)
#Result:20
#for 15 use 2 index to get value from it
result=data[2]
print("\nElement At 2nd Index")
print(result)
#Result:15
#for 15 using Negative index
result=data[-2]
print("\nGet element At -2 Index")
print(result)
#Result:15
#For outer index
result=data[10]
print(result)
#Result Error: array index out of range
Output:
Element At 0 Index
20
Get 20 Element Using Negative Index
20
Element At 2nd Index
15
Get element At -2 Index
15
Traceback (most recent call last):
File "/tmp/sessions/8796c948b36129d7/main.py", line 31, in <module>
result=data[10]
IndexError: array index out of range
- In Python, we can easily access a range of items in an array using the slicing operator :
Normal Syntax:
array_name[startindex(including):EndIndex(Excluding)]
Other Syntax :
array_Name[:] > All Elements
array_name[start:end] > Begining to End
array_name[:end] > Begining to end
array_name[start:] > begining to end
Examples:
import array
data=array.array("i",[20,10,15,23])
#ALL Elements
start=0
end=4
result=data[start:end]
print("Array From 0 index to till 4 index")
print(result)
#Result:array('i', [20, 10, 15, 23])
#Get First 2 Elements
result=data[:2] #or data[0:2]
print("\nGet First 2 Element")
print(result)
#Result:array('i', [20, 10])
#Get Last 3 Elements
result=data[1:] #or data[1:3]
print("\nGet Last 3 Element")
print(result)
#Result:array('i', [10, 15, 23])
Output:
Array From 0 index to till 4 index
array('i', [20, 10, 15, 23])
Get First 2 Element
array('i', [20, 10])
Get Last 3 Element
array('i', [10, 15, 23])
- After the creation of the array, we can add another element to array with the help of following built-in functions
1. append()
2. insert()
3. extend()
- append() function add a single element to an array at the end of the array
Syntax:
arrayName.append("element")
Example:
import array
data=array.array("i",[20,10,15,23])
print("Before append of new Element")
print(data)
#Append 6 to the data array
data.append(6)
print("After appending element")
print(data)
Output:
Before append of new Element
array('i', [20, 10, 15, 23])
After appending element
array('i', [20, 10, 15, 23, 6])
- append() add elements at only end of the array but if you want to add an element at the specific position then use insert.
- if an element is already present at insertion position then element at insertion position will be shifted to the right side by one.
- If you pass out of range positive index then element should be added at the end of an array.
- If you pass out of range negative index then element should be added at the beginning of an array.
Syntax:
array_name.insert(index,"value")
Example:
import array
data=array.array("i",[20,10,15,23])
print("Normal Array")
print(data)
#Append 6 at 1th position
data.insert(1,6)
print("After inserting 6 at first position element")
print(data)
Output:
Normal Array
array('i', [20, 10, 15, 23])'
After inserting 6 at first position element
array('i', [20, 6, 10, 15, 23])
- append() and insert() function add single element to an array to add multiple element to an array or join two different array extend() built in function is is used
- Add several items using extend() method.
- extend() appends iterating to the end of the array
Syntax:
array_name.extend(iterable_object)
iterable_object:list,tuple
Example:
import array
data=array.array("i",[20,10,15,23])
print("Normal Array")
print(data)
#add [6,11,12] array to data array
data.extend([6,11,12])
print("\n\n Array After Extending [6,11,12] ")
print(data)
Output:
Normal Array
array('i', [20, 10, 15, 23])
Array After Extending [6,11,12]
array('i', [20, 10, 15, 23, 6, 11, 12])
- The array is the mutable object. so elements of an array are changeable
Syntax:
To change or modify an element of an array use index of that element
array_name[index]=value
To modify some range of elements from an array
array_name[startindex:endindex]=value
Example:
import array
data=array.array("i",[20,10,15,23])
print("Normal Array")
print(data)
#update 20 with 30 and 20 element at 0 index
data[0]=30
print("\nArray after modification of 20 with 30")
print(data)
#Update last 2 element 9 and 12
data[-2:]=array.array('i',[9,12])
print("\nArray After updating multiple values")
print(data)
Output:
Normal Array
array('i', [20, 10, 15, 23])
Array after modification of 20 with 30
array('i', [30, 10, 15, 23])
Array After updating multiple values
array('i', [30, 10, 9, 12])
data[0]='h'
This will generate error
Erro:an integer is required (got type str)
data[552]='1'
Error:array assignment index out of range
- You can delete a complete array or element there are the following options are available.
1. del
2. pop()
3. remove()
- We can delete one or more items using python del statement.
- we can also delete a complete array using del keyword.
Syntax:
delete of specific index item
del array_name[index]
Delete Complete array
del array_name
Examples:
import array
data=array.array("i",[20,10,15,23])
print("Normal Array")
print(data)
#Delete the first Element from an array
del data[0]
print("\nAfter delete first element")
print(data)
#delete complete array
del data
print("\nErrror")
print(data)
#result:name 'data' is not defined
Output:
Normal Array
array('i', [20, 10, 15, 23])
After delete first element
array('i', [10, 15, 23])
Errror
Traceback (most recent call last):
File "/tmp/sessions/139fbf48debb94d3/main.py", line 17, in <module>
print(data)
NameError: name 'data' is not defined
- pop() method used to remove an item at the given index.
- pop() also return an item which is deleted
Syntax:
array_name.pop(index)
Example:
import array
#Normal Array
arr=array.array('i',[20, 10, 15, 23])
#print Normal Array
print("Normal Array")
print(arr)
#Delete last Element
arr.pop()
print("\nAfter Poping Last Element")
#print array after pop
print(arr)
Output:
Normal Array
array('i', [20, 10, 15, 23])
After Poping Last Element
array('i', [20, 10, 15])
- We can use the remove() method to remove the given item.
- remove() method accept element instead of the index.
- remove() method removes an element from an array and doesn't return anything
- If the element not found in list remove() gives an error
x not in the list
Syntax:
array_name.remove(elements)
Example:
import array
data=array.array("i",[20,10,15,23])
print("Normal Array")
print(data)
#Remove 10 from an array using remove()
data.remove(10)
print("\nPrint array after remove of 10")
print(data)
Output:
Normal Array
array('i', [20, 10, 15, 23])
Print array after remove of 10
array('i', [20, 15, 23])