也是遇到一個變形的題目,查資料,發現然來還可以這樣用
題目描述
對字符串中的所有單詞進行倒排。
說明:
1、每個單詞是以26個大寫或小寫英文字母構成;
2、非構成單詞的字符均視爲單詞間隔符;
3、要求倒排後的單詞間隔符以一個空格表示;如果原字符串中相鄰單詞間有多個間隔符時,倒排轉換後也只允許出現一個空格間隔符;
4、每個單詞最長20個字母;
輸入描述:
輸入一行以空格來分隔的句子
輸出描述:
輸出句子的逆序
輸入例子:
I am a student
輸出例子:
student a am I
- 解法
要是單純只是空格
print ' '.join(raw_input().split()[::-1]).strip()
但是現在還要一那些非字母的作爲分隔符,怎麼辦?
首先,我告訴你:
pstr.split(str='[^A-Za-z]')
這個寫法是錯的。
看《Python核心編程》裏講,用re.split
- 答案之一
# -*- coding:utf-8 -*-
# 【中級】單詞倒排
import re
print (' '.join(re.split(' |[^A-Za-z]', raw_input())[::-1])).strip()