python-3.x - 在不同条件下查找字母和破折号的位置
问题描述
在字符串 For Ex:mask = "e x _ e l l e _t"
中,
怎么找:
- 组的字母存在。
Expected output: [e,x,l,t]
- 除了起始字母之外的一组字母
Expected output: [x,l,t]
- 破折号的位置:
Expected output: [2,7]
解决方案
In [146]: s = "e x _ e l l e _t"
In [147]: s = s.replace(' ', '')
In [148]: s
Out[148]: 'ex_elle_t'
In [149]: letters = string.ascii_letters
In [150]: letters = set(string.ascii_letters)
In [151]: present_1 = sorted(letters.intersection(s), key=s.index)
In [152]: present_1
Out[152]: ['e', 'x', 'l', 't']
In [153]: present_minus_starting = present_1[1:]
In [154]: present_minus_starting
Out[154]: ['x', 'l', 't']
In [155]: dash_positions = [i for i,char in enumerate(s) if char=="_"]
In [156]: dash_positions
Out[156]: [2, 7]
推荐阅读
- javascript - 从时间服务器更新版权年份
- java - 并非所有请求的模块都可以启用 - org-netbeans-modules-nbjavac.jar
- python - 是否可以使键盘模块与 pygame 和线程一起使用
- kubernetes - dev k8s master 显示额外负载并导致无法获取获取 pod 的输出
- string - 我想在熊猫中添加两个具有字符串形式的时间值的列表
- php - Symfony http:来自 [::1] 的 TLS 握手错误
- python - For 循环在创建 Pandas 系列时不起作用
- jquery - 表体未与数据表中的表头对齐
- android - Firebase isEmailVerify 在 Kotlin 中不起作用
- python - Webdriver 没有获得® Selenium 驱动程序的属性