python - 如何在python中以特定字符开头的字符串列表中选择特定数量的元素?
问题描述
我有一个包含以日期开头的文件的列表,例如:
["CITY_NAME_20170102", "CITY_NAME_20170103", ...]
现在,我想运行一个单行代码,从这个长长的列表中为每个特定城市选择特定的年份。首先我想到的是运行一个 for 循环并编写一个 if 子句来遍历所有文件名,并且只附加以特定年份和城市开头的文件名。但是,我确信有一种更简单的方法可以做到这一点。
例如,是否有任何功能可以搜索所有元素并给我一个从 2017 年开始的功能?
解决方案
要从给定的字符串中提取年份,请使用负索引。
例子:
a="CITY_NAME_20170103"
a[-8:-4]
# '2017'
Pythonic的方式是
[s for s in list_of_strings if x[-8:-4] == '2017'] #Suggested by @schwobaseggl in the comments
您还可以使用2017 年filter
获取字符串列表
list(filter(lambda x: x[-8:-4]=='2017',list_of_strings))
推荐阅读
- python - 使用python使用haversine公式对gps数据进行下采样
- python - 如何使用sklearn成对比较两条ROC曲线?
- django - 如何防止数据库搜索旧对象?
- r - 带有分隔符而不是刻度的连续颜色条
- google-sheets - Google表格中未对齐的左右y轴
- arcgis - 在 ArcGIS 应用程序内连接资源
- python - Scrapy:需要遍历项目和页面
- php - 如何让银行在 Laravel 中先拥有大量分支机构,然后再拥有少量分支机构
- r - 有没有办法创建一个 R knitr 程序文件,它也是一个 R(控制台)程序文件?
- c# - 运行程序时出现错误。它说 system.IndexOutOfRangeException'Index 超出数组范围'。我该如何解决这个问题?