一个基于数组遍历的any()配合的简洁python代码分析
发布于 作者:苏南大叔 来源:程序如此灵动~
本文分析一个非常简洁好用的for in
+any()
的python
代码,主要目的是综合一下前面的文章,然后学习这种简洁的代码写法。写法的框架就是any(item in str for item in arr)
,看起来有点晕...
苏南大叔的“程序如此灵动”技术博客,记录苏南大叔的代码经验总结。本文测试环境:win10
,python@3.11.0
,numpy@1.24.2
。本文是基于python
的,相比较php
而言。代码写的确实简洁。
测试代码
本文的测试代码,如下:
_list = list("苏南大叔")
_str = "我喜欢苏南地区的天气"
if any(item in _str for item in _list):
print("好像被人喜欢了")
else:
print("无人喜欢!")
输出是:“好像被人喜欢了”。
类数组遍历
各种不同的类数组的数据,如何进行遍历呢?主要是利用for item in arr
这种写法。例如:
name = ["苏","南","大","叔"]
for x in name:
print(x) # 苏
参考文章:
字符串包含判断
python
字符串包含居然也可以使用一个小小的in
来完成,很意外吧?这个需求可不是数组包含哦。
print( "苏" in "苏南大叔" ) # True
any()判断
any()
,被判断的数组里,有一个为True,就整体为True。
print( any([True, True, False, False]) ) # True
参考文章:
借助lambda分析【故意解释】
其实也没有lamda
啥事,苏南大叔就是故意牵扯一下拉姆达表达式一下,来扩充一下本文的内容和价值。
_list = list("苏南大叔")
_str = "我喜欢苏南地区的天气"
a = lambda: (item for item in _list)
print(a()) # <generator object <lambda>.<locals>.<genexpr> at 0x0000021DD1EBC790>
print(list(a())) # ['苏', '南', '大', '叔']
b = lambda: (item in _str for item in _list)
print(list(b())) # [True, True, False, False]
分析到这里,接下来就是熟悉的套路了...略...
结束语
分析完毕,写法确实很简洁吧?更多python
代码使用技巧,请参考文章:


