python 字符串去重

本文探讨了字符串处理的基本操作,通过示例展示了如何使用Python去除重复字符,输出了一个独特的字符序列。这涉及到字符集的分析和字符串的遍历操作。
import timeit

text = "hello world python" * 1000

#方法1
# dict.fromkeys() 通常最快且保留顺序
def method_dict():
    return ''.join(dict.fromkeys(text))

#方法2
def method_loop():
    seen = set()
    return ''.join([char for char in text if not (char in seen or seen.add(char))])

#方法3
def method_set():
    # 不保留顺序
    return ''.join(set(text))

# 测试性能
time_dict = timeit.timeit(method_dict, number=100)
time_loop = timeit.timeit(method_loop, number=100)
time_set = timeit.timeit(method_set, number=100)

print(f"dict方法:{time_dict:.4f}")  #dict方法:0.0119 
print(f"loop方法:{time_loop:.4f}")  #loop方法:0.0244
print(f"set方法(无顺序):{time_set:.4f}") #set方法(无顺序):0.0073

推荐:日常使用 ''.join(dict.fromkeys(text)),简单高效且保留顺序!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值