Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
5 views

13. SetData Structure

The document provides an overview of the set data structure in Python, highlighting its characteristics such as uniqueness, mutability, and support for mathematical operations. It explains how to create sets, the differences between various methods like add() and update(), and important functions such as remove(), discard(), and clear(). Additionally, it covers set comprehension, membership operators, and practical examples for eliminating duplicates and finding vowels in a word.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

13. SetData Structure

The document provides an overview of the set data structure in Python, highlighting its characteristics such as uniqueness, mutability, and support for mathematical operations. It explains how to create sets, the differences between various methods like add() and update(), and important functions such as remove(), discard(), and clear(). Additionally, it covers set comprehension, membership operators, and practical examples for eliminating duplicates and finding vowels in a word.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

Set Data Structure

 If we want to represent a group of unique values as a single entity then we


should go for set. OR Set is used to stored unordered collection of unique
elements in single entity
 Duplicates are not allowed.
 Insertion order is not preserved. But we can sort the elements.
 Indexing and slicing not allowed for the set.
 Heterogeneous elements are allowed.
 Set objects are mutable i.e once we creates set object we can perform any
changes in that object based on our requirement.
 We can represent set elements within curly braces and with comma
seperation
 We can apply mathematical operations like union,intersection,difference etc on
set objects.

Creation of Set objects:


Eg:

1. s={10,20,30,40}
2. print(s)
3. print(type(s))
4.
5. Output
6. {40, 10, 20, 30}
7. <class 'set'>

We can create set objects by using set()

function s=set(any sequence)

Eg 1:

1. l = [10,20,30,40,10,20,10]
2. s=set(l)
3. print(s) # {40, 10, 20, 30}

Eg 2:

1. s=set(range(5))
2. print(s) #{0, 1, 2, 3, 4}

Note: While creating empty set we have to take special


care. Compulsory we should use set() function.
s={} ==>It is treated as dictionary but not empty set.

Eg:

1. s={}
2. print(s)
3. print(type(s))
4.
5. Output
6. {}
7. <class 'dict'>

Eg:

1. s=set()
2. print(s)
3. print(type(s))
4.
5. Output
6. set()
7. <class 'set'>

Important functions of set:


1. add(x):

Adds item x to the

set Eg:

1. s={10,20,30}
2. s.add(40);
3. print(s) #{40, 10, 20, 30}

2. update(x,y,z):

To add multiple items to the set.


Arguments are not individual elements and these are Iterable objects like List,range
etc. All elements present in the given Iterable objects will be added to the set.

Eg:

1. s={10,20,30}
2. l=[40,50,60,10]
3. s.update(l,range(5))
4. print(s)
5.
6. Output
7. {0, 1, 2, 3, 4, 40, 10, 50, 20, 60, 30}

Q. What is the difference between add() and update() functions in


set?

We can use add() to add individual item to the Set,where as we can use update()
function to add multiple items to Set.
add() function can take only one argument where as update() function can take any
number of arguments but all arguments should be iterable objects.

Q. Which of the following are valid for set s?

1. s.add(10)
2. s.add(10,20,30) TypeError: add() takes exactly one argument (3 given)
3. s.update(10) TypeError: 'int' object is not
iterable 4. s.update(range(1,10,2),range(0,10,2))

3. copy():

Returns copy of the set.


It is cloned object.

s={10,20,30}
s1=s.copy()
print(s1)

4. pop():

It removes and returns some random element from the

set. Eg:

1. s={40,10,30,20}
2. print(s)
3. print(s.pop())

5.
6. Output
7. {40, 10, 20, 30}

9. {10, 20, 30}


5. remove(x):

It removes specified element from the set.


If the specified element not present in the Set then we will get KeyError

s={40,10,30,20}
s.remove(30)
print(s) # {40, 10, 20}
s.remove(50) ==>KeyError: 50

6. discard(x):

It removes the specified element from the set.


If the specified element not present in the set then we won't get any error.

s={10,20,30}
s.discard(10)
print(s) ===>{20,
30} s.discard(50)
print(s) ==>{20, 30}

Q. What is the difference between remove() and discard() functions in Set?


Q. Explain differences between pop(),remove() and discard() functions in Set?

7. clear():

To remove all elements from the Set.

1. s={10,20,30}
2. print(s)
3. s.clear()

5.
6. Output
7. {10, 20, 30}
Mathematical operations on the Set:
1.union():

x.union(y) ==>We can use this function to return all elements present in both

sets x.union(y) or x|y

Eg:
x={10,20,30,40}
y={30,40,50,60}
print(x.union(y)) #{10, 20, 30, 40, 50, 60}
print(x|y) #{10, 20, 30, 40, 50, 60}

2. intersection():

x.intersection(y) or x&y

Returns common elements present in both x and

y Eg:

x={10,20,30,40}
y={30,40,50,60}
print(x.intersection(y)) #{40, 30}
print(x&y) #{40, 30}

3. difference():

x.difference(y) or x-y
returns the elements present in x but not

in y Eg:

x={10,20,30,40}
y={30,40,50,60}
print(x.difference(y)) #{10, 20}
print(x-y) #{10, 20}
print(y-x) #{50, 60}
4.symmetric_difference():

x. symmetric_difference(y) or x^y

Returns elements present in either x or y but not in

both Eg:

x={10,20,30,40}
y={30,40,50,60}
print(x.symmetric_difference(y)) #{10, 50, 20, 60}
print(x^y) #{10, 50, 20, 60}

Membership operators: (in , not in)


Eg:

1. s=set("durga")
2. print(s)
3. print('d' in s)

5.
6. Output
7. {'u', 'g', 'r', 'd', 'a'}

9. True

Set Comprehension:
Set comprehension is possible.

s={x*x for x in
range(5)} print(s) #{0, 1,
4, 9, 16}

s={2**x for x in
range(2,10,2)} print(s)
#{16, 256, 64,
4}

set objects won't support indexing and slicing:


Eg:
s={10,20,30,40}
print(s[0]) ==>TypeError: 'set' object does not support
indexing print(s[1:3]) ==>TypeError: 'set' object is not
subscriptable
Q.Write a program to eliminate duplicates present in the list?

Approach-1:

1. l=eval(input("Enter List of values: "))


2. s=set(l)
3. print(s)
4.
5. Output
6. D:\Python_classes>py test.py
7. Enter List of values: [10,20,30,10,20,40]
8. {40, 10, 20, 30}

Approach-2:

1. l=eval(input("Enter List of values: "))


2. l1=[]
3. for x in l:

5. l1.append(x)
6. print(l1)
7.

9. D:\Python_classes>py test.py
10. Enter List of values: [10,20,30,10,20,40]
11. [10, 20, 30, 40]

Q. Write a program to print different vowels present in the given


word?
1. w=input("Enter word to search for vowels: ")
2. s=set(w)
3. v={'a','e','i','o','u'}
4. d=s.intersection(v)
5. print("The different vowel present in",w,"are",d)
6.
7. Output
8. D:\Python_classes>py test.py
9. Enter word to search for vowels: durga
10. The different vowel present in durga are {'u', 'a'}

You might also like