大家好,我是皮皮。
一、前言
前几天在Python最强王者群【eric】问了一个Python
列表基础的问题,这里拿出来给大家分享下。
代码如下:
代码语言:javascript复制str1 = ["安徽六安1", "安徽桐城12", "安徽黄山6", "安徽马鞍山1", "安徽蚌埠22"]
for item in str1:
regex = re.compile(r"安徽(.*?)d ")
res = re.findall(regex, item)
print(res)
二、实现过程
上面那个代码,运行之后确实可以得到预取的答案。不过还有其他的方法,一起来看看吧。
后来【Ineverleft】给了一个代码,如下所示:
代码语言:javascript复制import re
str1 = ["安徽六安1", "安徽桐城12", "安徽黄山6", "安徽马鞍山1", "安徽蚌埠22"]
cities = [re.sub(r'[^u4e00-u9fa5] ', ' ', s).split()[0] for s in str1]
print(cities) # ['六安', '桐城', '黄山', '马鞍山', '蚌埠']
也是可以得到预期的效果。
后来【Hxy任我肥】也给了一个代码,如下图所示:
代码语言:javascript复制import re
str1 = ["安徽六安1", "安徽桐城12", "安徽黄山6", "安徽马鞍山1", "安徽蚌埠22"]
city_list = []
for s in str1:
match = re.search(r'([u4e00-u9fa5] )', s)
if match:
city_list.append(match.group(1))
print(city_list) # 输出:['六安', '桐城', '黄山', '马鞍山', '蚌埠']
异曲同工之妙,也可以顺利地解决问题。
三、总结
大家好,我是皮皮。这篇文章主要盘点了一个Python
列表基础的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。
最后感谢粉丝【eric】提问,感谢【群除我佬】、【Ineverleft】、【Hxy任我肥】、【甯同学】、【瑜亮老师】给出的思路和代码解析,感谢【冯诚】等人参与学习交流。