V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ladypxy  ›  全部回复第 16 页 / 共 116 页
回复总数  2319
1 ... 12  13  14  15  16  17  18  19  20  21 ... 116  
312 天前
回复了 Kenshiro 创建的主题 Windows Vmvare Workstation 无法启动客户机卡启动 Logo
关闭 windows 的 hyperV
手动选一下,指定用联通漫游
罗技 mx 的机械版
316 天前
回复了 andyjiao15 创建的主题 职场话题 突然被通知裁员了
这并不叫裁员,当然不涉及赔偿。
当外包公司和你解除劳动合同的时候,才需要赔偿。
现在是外包公司需要安排你到另外一个公司工作
321 天前
回复了 asuraa 创建的主题 NAS 啥时候群晖能出一个纯 pcie 的 ssd 硬盘的 nas
华硕一款
322 天前
回复了 ladypxy 创建的主题 Python 如何用 map 和 re 来优化下面的 if..else..
还是试着用 re 改写了下

long_string = "blablabl"

my_dict = {"a": "string1", "b": "string2" , "c": "string3", "d":"string4"}

patterns = {
r"(?=.*Andy)": "a";
r"(?=.*Jack)": "b",
r"(?=.*Jim)(?!.*Mike)": "c",
}

matches = [patterns[pattern_key] for pattern_key in patterns.keys() if re.search(pattern_key, long_string)]

if matches:
return my_dict[matches[0]]
else:
return my_dict["d"]

但是个人感觉还是不如 if ..else 直观
323 天前
回复了 ladypxy 创建的主题 Python 如何用 map 和 re 来优化下面的 if..else..
@tairan2006 试了下,需要多次才能给出差不多的答案,但是个人感觉这种可读性还不如 if else

import re

long_string = "blablabl"

my_dict = {"a": "string1", "b": "string2", "c": "string3", "d": "string4"}

keyword_mapping = {
"Andy": "a",
"Jack": "b",
"Jim": "c",
"Mike": "d"
}

matched_keywords = set(filter(lambda x: re.search(x, long_string) is not None, keyword_mapping.keys()))
matched_values = [my_dict[keyword_mapping[keyword]] for keyword in matched_keywords]

if "Jim" in matched_keywords and "Mike" not in matched_keywords:
result = my_dict[keyword_mapping["Jim"]]
else:
result = matched_values[0] if matched_values else my_dict["d"]

print(result)
323 天前
回复了 ladypxy 创建的主题 Python 如何用 map 和 re 来优化下面的 if..else..
@BeautifulSoap 就是不要用 if 而是用 map 来实现
323 天前
回复了 ladypxy 创建的主题 Python 如何用 map 和 re 来优化下面的 if..else..
@luozic 需求就是查询字符串 long_string 里有没有指定的字符串,然后返回字典的数值。
要求用 map 和 re 解决
323 天前
回复了 ladypxy 创建的主题 Python 如何用 map 和 re 来优化下面的 if..else..
@BeautifulSoap 一次?求范例,谢谢
324 天前
回复了 PierreGasly 创建的主题 Apple 澳洲 Mwave 特价 MacBookPro M1 Max 顶配几乎半价
mwave 没啥坑
澳洲 apple 产品一直打折都很猛
澳洲活期都 5 个点了
326 天前
回复了 Anis099 创建的主题 酷工作 [远程] 中级运维工程师,月薪 25K-40K
啥公司,能兼职不
326 天前
回复了 Windyzhou 创建的主题 YouTube premium 不能充值了
土耳其区,工行多币卡刚刚扣费,没啥问题
需要放到根目录,不要自己制定路径
328 天前
回复了 tensorzhang 创建的主题 程序员 信息安全方向怎么样?
国外最火的方向,国内不知道……
1 ... 12  13  14  15  16  17  18  19  20  21 ... 116  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5188 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 49ms · UTC 09:41 · PVG 17:41 · LAX 02:41 · JFK 05:41
Developed with CodeLauncher
♥ Do have faith in what you're doing.