python 中 set()的使用

本文解析了LeetCode上一道看似简单的题目“Buddy Strings”,介绍了如何利用Python的set()函数来解决字符重复检查的问题,并展示了itertools.izip()在比较两个字符串差异时的应用。
部署运行你感兴趣的模型镜像

leetcode中一个很变态的简单题目

https://leetcode-cn.com/problems/buddy-strings/description/

本来思路很明确感觉很简单,然鹅....

 

emmmm....

看了答案 很easy....   所以,要学会使用set()啊。

set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等

set 语法:

class set([iterable])

参数说明:

  • iterable -- 可迭代对象对象;

测试实例:

 

解题:

建立一个空的set()

然后通过建立for循环判断字符是否重复出现

seen = set()
for a in A:
    if a in seen:
       return True
    seen.add(a)
return False


 

另外在本题解答中还出现了 itertools.izip(A,B)的用法


pairs = []
for a, b in itertools.izip(A, B):
     if a != b:
        pairs.append((a, b))
     if len(pairs) >= 3: 
        return False
return len(pairs) == 2 and pairs[0] == pairs[1][::-1]    #  pairs[1][::-1]  -1倒序输出

 

itertools——创建高效迭代器的Python模块。

itertools.izip(*iterables)

*iterables为一个或多个可迭代对象

作用:返回所有可迭代对象的迭代器(止于最短序列)

 

参考:https://blog.youkuaiyun.com/c465869935/article/details/51598388

 

 

 

 

 

 

 

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值