前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python花式编程案例锦集(1)

Python花式编程案例锦集(1)

作者头像
Python小屋屋主
发布2018-04-16 17:07:17
1.3K0
发布2018-04-16 17:07:17
举报
文章被收录于专栏:Python小屋Python小屋

首先解答上一篇文章详解Python中的序列解包(2)中最后的习题,该题答案为5,表达式功能为迭代求解序列中元素的最大值。

-----------------分割线---------------

问题描述:给定任意字符串,查找其中每个字符的最后一次出现,并按每个字符最后一次出现的先后顺序依次存入列表。例如对于字符串'abcda'的处理结果为['b', 'c', 'd', 'a'],而字符串'abcbda'的处理结果为['c', 'b', 'd', 'a']。

# 测试字符串

s = 'aaaabcdawerasdfasdfwerngsnnvAAAweB3a'

# 笨办法

result = [] for ch in s: if ch in result: result.remove(ch) result.append(ch) print(result)

# 使用正则表达式

import re print(re.findall(r'(\w)(?!.*\1)', s))

# 使用有序字典 from collections import OrderedDict print(list(reversed(OrderedDict.fromkeys(reversed(s)))))

运行结果:

['b', 'c', 'd', 'f', 'r', 'g', 's', 'n', 'v', 'A', 'w', 'e', 'B', '3', 'a'] ['b', 'c', 'd', 'f', 'r', 'g', 's', 'n', 'v', 'A', 'w', 'e', 'B', '3', 'a'] ['b', 'c', 'd', 'f', 'r', 'g', 's', 'n', 'v', 'A', 'w', 'e', 'B', '3', 'a']

你还有别的好思路吗?欢迎提供更多思路。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-06-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档