为了账号安全,请及时绑定邮箱和手机立即绑定

Python 小目标10

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! ⛵

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消