比较两个切片是否一致

比较两个切片是否一致
类似于PHP的array_diff函数,不过,这里返回的值是true or false
代码如下

//比较两个切片 值是否一致
//例1:[1,2,3,3] [2,1,2,3] 返回true
//例2:[1,2,3]   [2,1,2,3] 返回true
//例3:[5,2,3,2] [2,1,2,3] 返回false
func SliceComparison(a, b []string) bool {
	aMap := map[string]bool{}
	bMap := map[string]bool{}
	for _, v := range a {
		aMap[v] = true
	}
	for _, v := range b {
		bMap[v] = true
	}
	if len(aMap) != len(bMap) {
		return false
	}
	for k, _ := range aMap {
		if _, ok := bMap[k]; !ok {
			return false
		}
	}
	return true
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Python中,可以使用切片(slice)来获取列表的子集。切片的语法是通过使用[start:end:step]来指定切片的开始位置、结束位置和步长。 以下是两个关于Python中列表切片的例子: 1. 切片的结束位置大于列表长度时,从列表尾部截断: ```python lists = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] list1 = lists[0:20] # 从索引0开始,截取到索引20(超出列表长度),结果为整个列表 print('list1:', list1) # 输出:list1: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] ``` 2. 切片的开始位置大于列表长度时,返回空列表: ```python lists = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] list2 = lists[15:] # 从索引15开始,截取到列表末尾,结果为空列表 print('list2:', list2) # 输出:list2: [] list3 = lists[15:3:-1] # 从索引15开始,逆向截取到索引3,结果为[9, 8, 7, 6, 5, 4] print('list3:', list3) # 输出:list3: [9, 8, 7, 6, 5, 4] ``` 3. start和end之间的元素间隔应和step方向一致,否则会切出空列表: ```python lists = ["A", "B", "C", "D"] list1 = lists[-1:-3] # 从倒数第1个元素开始,逆向截取到倒数第3个元素,结果为空列表 print('list1:', list1) # 输出:list1: [] list2 = lists[-1:1] # 从倒数第1个元素开始,逆向截取到索引1(正向),结果为空列表 print('list2:', list2) # 输出:list2: [] list3 = lists[3:1] # 从索引3开始,正向截取到索引1,结果为空列表 print('list3:', list3) # 输出:list3: [] list4 = lists[3:-3] # 从索引3开始,逆向截取到倒数第3个元素,结果为['C'] print('list4:', list4) # 输出:list4: ['C'] ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值