DEV Community

Lakshmi Pritha Nadesan
Lakshmi Pritha Nadesan

Posted on

1

Day-27 Tuples, Set

Tuples:
Tuples maintain the order of elements as they are defined.
Once a tuple is created, its contents cannot be changed.
Like lists, tuples can contain duplicate values.
Tuples can store mixed types of data, including other tuples, lists, integers, strings, etc.
You can access tuple elements by their index, starting from 0.
Tuple represented by ().

t = (10,20,30)
print(t)
print(type(t))

for num in t:
    print(num)

total = 0
for num in t:
    total+=num
print(total)

t[0] = 100
Enter fullscreen mode Exit fullscreen mode
(10, 20, 30)
<class 'tuple'>
10
20
30
60
TypeError: 'tuple' object does not support item assignment

Enter fullscreen mode Exit fullscreen mode

Tuple packing:
Creating a tuple by grouping multiple elements together, e.g., my_tuple = (1, 2, 3).
Tuple unpacking:
Extracting the elements of a tuple into individual variables, e.g., a, b, c = my_tuple.

#Tuple Packing
t = 10,20,30
print(t)

#Tuple Unpacking
no1, no2, no3 = t
print(no1)
print(no2)
print(no3)

Enter fullscreen mode Exit fullscreen mode
(10, 20, 30)
10
20
30
Enter fullscreen mode Exit fullscreen mode
t = 10,20,30,40,50,60
print(t[:2])
Enter fullscreen mode Exit fullscreen mode
(10, 20)
Enter fullscreen mode Exit fullscreen mode
t1 = 10,20,30
t2 = 40,50,60
print(t1+t2)

print(t1*3)

print(10 in t1)
print(10 not in t1)
Enter fullscreen mode Exit fullscreen mode
(10, 20, 30, 40, 50, 60)
(10, 20, 30, 10, 20, 30, 10, 20, 30)
True
False
Enter fullscreen mode Exit fullscreen mode
t1 = 10,20,30,40,50,60,10

print(t1.count(10))
print(t1.index(20))
print(sorted(t1))
print(sorted(t1,reverse=True))

Enter fullscreen mode Exit fullscreen mode
2
1
[10, 10, 20, 30, 40, 50, 60]
[60, 50, 40, 30, 20, 10, 10]
Enter fullscreen mode Exit fullscreen mode
t = ((10,20,30), (40,50,60))
print(t)
print(t[0])
print(t[1])

print(t[0][0])
print(t[1][2])

t = ([10,20,30],[40,50,60])

print(t[0])
print(t[0][2])
Enter fullscreen mode Exit fullscreen mode
((10, 20, 30), (40, 50, 60))
(10, 20, 30)
(40, 50, 60)
10
60
[10, 20, 30]
30
Enter fullscreen mode Exit fullscreen mode

Write a program to find
a)Second List
b)List wise total
c)Print Only second element from each list.
data = ([10,20,30],[40,50,60],[70,80,90])

data = ([10,20,30],[40,50,60],[70,80,90])

#Second List
print(data[1])
#List wise total
for inner in data:
    total = 0
    for num,index in enumerate(inner):
        total+=index
    print(total,end=' ')
#Print Only second element from each list.
print()
i=0
while i<len(data):
    print(data[i][1],end=' ')
    i+=1

Enter fullscreen mode Exit fullscreen mode
[40, 50, 60]
60,150,240,
20 50 80

Enter fullscreen mode Exit fullscreen mode

eval():
eval() is a built-in Python function used to evaluate a string as a Python expression and return the result.

No tuple comprehension.

t = eval(input("Enter tuple Elements: "))
print(type(t))
print(t)

Enter fullscreen mode Exit fullscreen mode
Enter tuple Elements: 10,20,30
<class 'tuple'>
(10, 20, 30)
Enter fullscreen mode Exit fullscreen mode

next() Function:
The next() function returns the next item in an iterator.


t = (no for no in range(1,11))
print(next(t))
print(next(t))
print(next(t))
print(next(t))
Enter fullscreen mode Exit fullscreen mode
1
2
3
4
Enter fullscreen mode Exit fullscreen mode

*Difference between 'is' and '==': *
The '==' is known as the equality operator.
The 'is' is known as the identity operator.
== checks value.
is checks memory.
== operator helps us compare the equality of objects.
is operator helps us check whether different variables point towards a similar object in the memory.

Example:
For list:

l1 = [10,20,30]
l2 = l1
print(id(l1))
print(id(l2))
print(l1 == l2)
print(l1 is l2)

l2 = list(l1)
print(id(l2))
print(l1 == l2)
print(l1 is l2)
Enter fullscreen mode Exit fullscreen mode
124653538036544
124653538036544
True
True
124653536481408
True
False
Enter fullscreen mode Exit fullscreen mode

For Tuple:

l1 = (10,20,30)
l2 = l1
print(id(l1))
print(id(l2))
print(l1 == l2)
print(l1 is l2)

l2 = tuple(l1)
print(id(l2))
print(l1 == l2)
print(l1 is l2)
Enter fullscreen mode Exit fullscreen mode
130906053714624
130906053714624
True
True
130906053714624
True
True

Enter fullscreen mode Exit fullscreen mode

Tuple vs List:
Tuples are immutable objects and lists are mutable objects.
Tuples use less memory and are faster to access than to lists.
As tuples are immutable, size will be lesser than list.

Example:

import sys
l = [10,20,30,40]
t = (10,20,30,40)
print(sys.getsizeof(l))
print(sys.getsizeof(t))

Enter fullscreen mode Exit fullscreen mode
88
72
Enter fullscreen mode Exit fullscreen mode

Set:
Sets are used to store multiple items in a single variable.
A set is a collection which is unordered, immutable(unchangeable), and unindexed.
It ignore duplicates.

Set Methods:
1)union():
(|)Return a set containing the union of sets.

2)intersection():(&)Returns a set, that is the intersection of two other sets.

3)difference():(-)Returns a set containing the difference between two or more sets.

4)symmetric_difference():(^)Returns a set with the symmetric differences of two sets.

Example:1

s1 = {10,20,30,40}
s2 = {30,40,50,60}
print(s1.union(s2))
print(s1 | s2)

print(s1.intersection(s2))
print(s1 & s2)

print(s1.difference(s2))
print(s1 - s2)

print(s1.symmetric_difference(s2))
print(s1 ^ s2)
Enter fullscreen mode Exit fullscreen mode
{40, 10, 50, 20, 60, 30}
{40, 10, 50, 20, 60, 30}
{40, 30}
{40, 30}
{10, 20}
{10, 20}
{10, 50, 20, 60}
{10, 50, 20, 60}
Enter fullscreen mode Exit fullscreen mode

Example:2

s1 = {10,20}
s2 = {20,30}
s3 = {30,40}

print(s1.union(s2,s3))

result = s1 | s2 | s3
print(result)

Enter fullscreen mode Exit fullscreen mode
{20, 40, 10, 30}
{20, 40, 10, 30}

Enter fullscreen mode Exit fullscreen mode

discard():
The discard() method removes an element from the set if it exists. If the element is not present, it does nothing (no error is raised).
remove():
The remove() method removes an element from the set if it exists. If the element is not present, it raises a KeyError.

s = {"abcd", 1.2, True, 500,500}
s.remove(10)
print(s)

s.discard(10)
print(s)
Enter fullscreen mode Exit fullscreen mode
KeyError: 10
{'abcd', 1.2, 500, True}

Enter fullscreen mode Exit fullscreen mode

Tasks:
match1 = {"sanju", "virat", "ashwin", "rohit"}
match2 = {"dhoni", "virat", "bumrah", "siraj"}

Find the following:
a)Both match1, match2
b)Played in Match1 but not in match2
c)Played in Match2 but not in match 1
d)Played in Only one match

match1 = {"sanju", "virat", "ashwin", "rohit"}
match2 = {"dhoni", "virat", "bumrah", "siraj"}
print(match1 & match2)
print(match1 - match2)
print(match2 - match1)
print(match1 ^ match2)
Enter fullscreen mode Exit fullscreen mode
{'virat'}
{'sanju', 'rohit', 'ashwin'}
{'dhoni', 'siraj', 'bumrah'}
{'sanju', 'bumrah', 'rohit', 'siraj', 'ashwin', 'dhoni'}
Enter fullscreen mode Exit fullscreen mode

Please leave your appreciation by commenting on this post!

Sure thing!

Top comments (0)

AWS Security LIVE!

Tune in for AWS Security LIVE!

Join AWS Security LIVE! for expert insights and actionable tips to protect your organization and keep security teams prepared.

Learn More

👋 Kindness is contagious

Discover a treasure trove of wisdom within this insightful piece, highly respected in the nurturing DEV Community enviroment. Developers, whether novice or expert, are encouraged to participate and add to our shared knowledge basin.

A simple "thank you" can illuminate someone's day. Express your appreciation in the comments section!

On DEV, sharing ideas smoothens our journey and strengthens our community ties. Learn something useful? Offering a quick thanks to the author is deeply appreciated.

Okay