Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags

python
communitycreator

List vs. tuple vs. set vs. dictionary in Python

MADHU SRAVANA VALLI

Python Collections are used to store data, for example, lists, dictionaries, sets, and tuples, all of which are built-in collections.

Lists Tuples Sets Dictionaries
A list is a collection of ordered data. A tuple is an ordered collection of data. A set is an unordered collection. A dictionary is an unordered collection of data that stores data in key-value pairs.

Various ways to create a list

list1=[1,4,"Gitam",6,"college"]
list2=[]  # creates an empty list
list3=list((1,2,3))
print(list1)
print(list2)
print(list3)

Various ways to create a tuple

tuple1=(1,2,"college",9)
tuple2=() # creates an empty tuple
tuple3=tuple((1,3,5,9,"hello"))
print(tuple1)
print(tuple2)
print(tuple3)

How to create a set

set1={1,2,3,4,5,"hello","tup"}
set2={(1,8,"python",7)}
print(set1)
print(set2)

How to create a dictionary

dict1={"key1":"value1","key2":"value2"}
dict2={}   # empty dictionary
dict3=dict({1:"apple",2:"cherry",3:"strawberry"})
print(dict1)
print(dict2)
print(dict3)

The fundamental distinction that Python makes on data is whether or not the value of an object changes. An object is mutable if the value can change; else, the object is immutable.

Lists are mutable. Tuples are immutable. Sets are mutable and have no duplicate elements. Dictionaries are mutable and keys do not allow duplicates.
Lists are declared with square braces. Tuples are enclosed within parenthesis. Sets are represented in curly brackets. Dictionaries are enclosed in curly brackets in the form of key-value pairs.
list1=["hello",1,4,8,"good"]
print(list1)
list1[0]="morning"  # assigning values ("hello" is replaced with "morning")
print(list1)
print(list1[4])
print(list1[-1]) # list also allow negative indexing
print(list1[1:4]) # slicing
list2=["apple","mango","banana"]
print(list1+list2) # list concatenation
tuple1=("good",1,2,3,"morning")
print(tuple1)
print(tuple1[0])  # accessing values using indexing
#tuple1[1]="change"  # a value cannot be changed as they are immutable
tuple2=("orange","grapes")
print(tuple1+tuple2)  # tuples can be concatenated
tuple3=(1,2,3)
print(type(tuple3))
set1={1,2,3,4,5}
print(set1)
# set1[0]   sets are unordered, so it doesnot support indexing
set2={3,7,1,6,1} # sets doesnot allow duplicate values
print(set2)
dict1={"key1":1,"key2":"value2",3:"value3"}
print(dict1.keys())  # all the keys are printed
dict1.values() # all the values are printed
dict1["key1"]="replace_one"  # value assigned to key1 is replaced
print(dict1)
print(dict1["key2"])

Python has a set of built-in methods that are used on these collections. They are:-

The append() method adds a single item at the end of the list without modifying the original list. An element cannot be added to the tuple as it is immutable. The set add() method adds a given element to a set. The update() method updates the dictionary with the specified key-value pairs
The pop() method removes the item at the given index from the list and returns it. Tuples are immutable. The pop() method removes a random item from the set. The pop() method removes the specified item from the dictionary.
list1=["apple","banana","grapes"]
list1.append("strawberry")   # strawberry is added to the list
print(list1)
list1.pop()  # removes the last element from the list
print(list1)
list1.pop()
print(list1)
tuple1=(1,2,3,4)
# tuple1.pop()    tuple cannot be modified
# tuple1.append()  tuple cannot be modified
print(tuple1)
set1={"water","air","food"}
set1.add("shelter")   # adds an element to the set at random position
print(set1)
set1.add("clothes")
print(set1)
set1.pop()  # removes random element from the set
print(set1)
dict1={"fruit1":"apple","fruit2":"banana","veg1":"tomato"}
dict1.update({"veg2":"brinjal"})
print(dict1)
dict1.update({"veg3":"chilli"})  # updates the dictionary at the end
print(dict1)
dict1.pop("veg2")
print(dict1)
The sort() method sorts the elements of a given list in a specific ascending or descending order. Though tuples are ordered, the elements cannot be sorted. Elements in the set cannot be sorted as they are unordered. sorted() method is used to sort the keys in the dictionary by default.
index() searches for a given element from the start of the list and returns the lowest index where the element appears. Searches the tuple for a specified value and returns the position of where it was found. The index of a particular element is not retrieved as they are unordered. The get() method returns the value of the item with the specified key.
list1=[1,5,3,9,"apple"]
print(list1.index(9)) # returns the index value of the particular element
list2=[2,7,8,7]
print(list2.index(7)) # returns the index value of the element at its first occurence
print(list2.index(7,2)) # returns the index value of the element from the particular start position given


tuple1=(1,3,6,7,9,10)
print(tuple1.index(6))
print(tuple1.index(9))


set1={1,5,6,3,9}
# set1.index()  will throw an error as they are unordered


dict1={"key1":"value1","key2":"value2"}
# dict1.index("key1") will throw an error
print(dict1.get("key1"))
The count() method returns the number of times the specified element appears in the list. The count() method returns the number of times a specified value occurs in a tuple. There are no count() methods in sets as they do not allow any duplicates. The count() method is not defined in the dictionary.
The reverse() method reverses the elements of the list. The reverse() method is not defined in tuples, as they are unchangeable The sets are unordered, which refrains from applying the reverse() method The elements cannot be reversed, as the items in the dictionary are in the form of key-value pairs

RELATED TAGS

python
communitycreator
RELATED COURSES

View all Courses

Keep Exploring