Python 实用函数 any、all。字符串内容删除removeprefix、removesuffix、replace。列表去重dict.fromkeys

一、 python中any()和all()如何使用

  1. any(iterables)all(iterables)、比较对象时非常实用
  2. any() 相当于做 or 运算,而all() 相当于做 and 运算
  3. any(iterables),可迭代对象中的每一个元素都为True,则返回True。有任意一个或者多个 False则返回False。特例:若可迭代对象为空,比如空列表[],则返回False。
  4. any(iterables),可迭代对象中的任意一个元素为True,则返回True。所有元素全部是 False则返回False。

示例1:

a = [False,False,False,True]
any(a)
# 只要队列中有一个 true 那any(a)的结果就是true


a = [False,True,True,True]
all(a) 
# 只要队列中有一个 False 那all(a)的结果就是False 

在这里插入图片描述


示例2:

当我们需要筛选一个包含所有各种字符串的可迭代对象时,需要剔除包含某些关键词的内容时。
我现在有这样一个list,其中包含了180个字符串。我现在需要删除 \n 和 by 和(about) 的值。
在这里插入图片描述

  1. 首先我们需要用for循环遍历这个list
  2. 再把遍历出来的结果做对比判断
  3. 排除不要的内容,
  4. 打印需要的内容。
unneed = ["\n", "by", "(about)"]
# 遍历text
for i in text: 
	# 将 i 和 unneed 中的元素逐一做判断。如果都不存在,那么打印i 
    if not any(un in i for un in unneed):
        print(i)

示例3:

test = [1,2,3,4,5,45]
any(i > 4 for i in test)     # 如果test中任意一个值大于4 则返回true
all(x != 0 for i in test)     # 如果test中所有值都不等于0  则返回true

二、 删除字符串特定内容的方法removeprefix、removesuffix、replace

test = ['张三你好', '你好李四', '哦你好呀']
for i in test:
    newstr1 = i.removeprefix('你好')  # 移除字符串开头的 你好
    newstr2 = i.removesuffix('你好')  # 移除字符串结尾的 你好
    newstr3 = i.replace('你好', '')  # 替换字符串中的所有内容
    print(newstr1, ' | ', newstr2, ' | ', newstr3)

    
输出结果:
张三你好  |  张三  |  张三
李四  |  你好李四  |  李四
哦你好呀  |  哦你好呀  |  哦呀

三、 列表去重dict.fromkeys

我们知道可以转换为集合去重。但是输出结果是乱序的。所以:

test= [1, 1, 2, 2, 3, 3]  
newtest= dict.fromkeys(test)  # 利用字典的key特性去重
print(list(newtest))

输出结果:
[1, 2, 3]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zy阿二

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值