开发者社区> 问答> 正文

如何在列表python中过滤未知元素

我正在尝试制作一个程序,该程序使用星期几(星期一,星期二,星期三等)的缩写,并用完整的单词(星期一,星期二,星期三)替换它们。该程序将创建一个包含字符串的列表,并将其作为字符串输出。除了使用星期以外的某天,我可以进行此工作。例如,不是Mon,Tue,Wed等的单词(如代码所示),我希望能够过滤掉不需要的单词,但不知道该怎么做。请帮忙。

代码:

days = []

def format_days(days): 

  days = [d.replace('Mon', 'Monday') for d in days]
  days = [d.replace('Tue', 'Tuesday') for d in days]
  days = [d.replace('Wed', 'Wednesday') for d in days]
  days = [d.replace('Thu', 'Thursday') for d in days]
  days = [d.replace('Fri', 'Friday') for d in days]
  days = [d.replace('Sat', 'Saturday') for d in days]
  days = [d.replace('Sun', 'Sunday') for d in days]


  return days

answer = format_days(['Sat', 'Fun', 'Tue', 'Thu'])
print(answer)

# ['Saturday', 'Fun', 'Tuesday', 'Thursday'] <-- This is the output

# ['Saturday', 'Tuesday', 'Thursday'] <-- This is the output I want

我希望能够从列表中过滤掉“ fun”,但是代码需要对所有不起作用的内容起作用:Mon,Tue,Wed,Thu,Fri,Sat,Sun,而不仅仅是“ fun”

问题来源:stackoverflow

展开
收起
is大龙 2020-03-23 17:33:56 394 0
1 条回答
写回答
取消 提交回答
  • 您可以制作有效单词的字典。如果遇到除有效日期以外的其他任何内容,则将其忽略。

    def fromat_days(days):
        valid_days={'Mon':'Monday',
                    'Tue':'Tuesday',
                     ...
                    'Sun':'Sunday'}
        return [valid_days[day] for day in days if day in valid_days]
    

    回答来源:stackoverflow

    2020-03-23 17:34:04
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载