使用Python取列表元素中的城市名(上篇)

2023-08-17 09:16:07 浏览数 (3)

大家好,我是皮皮。

一、前言

前几天在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任我肥】、【甯同学】、【瑜亮老师】给出的思路和代码解析,感谢【冯诚】等人参与学习交流。

1 人点赞