继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Python 小目标10

乌然娅措
关注TA
已关注
手记 64
粉丝 22
获赞 12

Python Day 16

1. distinct Average

suppose we want to find the distinct average of a list.
Key: we need to use SET function.

def average(array):
    sum1=sum(set(array))
    n=len(set(array))
    return(sum1/n)

[caption id=“attachment_2136” align=“alignnone” width=“650”]

12019 / Pixabay[/caption]

2. Symmetric Difference

Challenge: List the Symmetric Difference integers for two sets in ascending order, one per line.

Before we solve the challenge, we will go over some basic Set operations in Python.

Set:

a=input()
5 4 3 2
list1=a.split()
print(list1)
['5', '4', '3', '2']

MAP: convert the strings to integers

newlist=list(map(int,list1))
pprint(newlist)
[5,4,3,2]

Creating set

#1\. Directly assigning values to a set
myset = {1, 2} 

#2.Creating a set from a list
myset = set()  # Initializing a set
myset = set(['a', 'b']) 
myset
{'a', 'b'}

Modifying Sets

We will show the functions: Add, Update, and Remove

#1.Add values to a set
myset.add("c")myset{"a", "b", "c"}

#2\. Update a set value
myset.update([1,2,3,4]) #update only works for iterable objects
myset
{"a", "b", "c", 1,2,3,4}

#3\. Remove items
myset.discar(1)
myset
{"a", "b", "c", 2,3,4} 

Common Set Operations:

We will introduce 3 basic set operations: Union, Intersection, Difference.

#1\. Union: values in a or b
a = {2, 4, 5, 9}
b = {2, 4, 11, 12}
a.union(b) #order doesn't matter
{2, 4, 5, 9, 11, 12}

#2\. Intersection: values in a and b
a.intersection(b) #order doesn't matter
{2,4}

#3\. Difference: values in a but not in b
a.difference(b) #order does matter
{9,5}

Now, back to our original challenge, we will use the difference function to solve the problem

a,b = [set(input().split()) for _ in range(4)][1::2]
ad=a.difference(b)
bd=b.difference(a)
c=ad.union(bd)
print('\n'.join(sorted(c, key=int)))

#Alternative solution
print ('\n'.join(sorted(a^b, key=int)))

Happy Studying! ⛵

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP