前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python合并数组

python合并数组

作者头像
瓜大三哥
发布2018-02-26 16:11:03
2.2K0
发布2018-02-26 16:11:03
举报
文章被收录于专栏:瓜大三哥瓜大三哥

题目描述:

# '''

# case 1:

# '''

# S1 = [1,2]

# S2 = [1,2]

# S3 = [3,4,5]

# S4 = [3,4]

# S5 = [3,5]

# S6 = [6,7]

# S7 = [7,8]

'''

case 2:

我举的那个例子是个特殊情况,那个例子中S3,S4,S5同时相交于元素3,

这种肯定是要求并集的,但还有一种情况也要求并集,这种情况就是:

S3∩S4非空,S4∩S5非空,但S3∩S4∩S5是空集,

这种情况也要计算S3 ∪S4∪S5

'''

S1 = [1,2]

S2 = [1,2]

S3 = [2,3,4,5]

S4 = [3,4]

S5 = [3,5]

S6 = [6,7]

S7 = [7,8]

S=[S1,S2,S3,S4,S5,S6,S7]

P1=[]

P2=[]

for i in S:

j=i

for j in S:

if len(S)==1:

break;

else:

if len(list(set(S[0]).intersection(set(S[1])))) != 0:

P1=list(set(S[0]).union(set(S[1])).union(set(P1)))

if(len(S)==2):

print(P1)

else:

P2=P1

P1=[]

print(P2)

del S[0]

感悟:

1.python列表操作里不允许变量类型的指针

2.case1类似于冒泡排序操作,这个是满足题目要求的,但是为了将所有的非空数组并起来,就有case2的情况,只不过修改一行代码

3.为了列表操作方面,使用了delete来移动指针,我认为也可以用循环左移或右移来做

4.当相邻两个数组没有交集,将结果输出

存在问题:这个程序只能向后进行查找,如果需要每一个从头,去掉j=i这一行,不过实际中也够用了

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-01-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 瓜大三哥 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档