请输入字符串:Python和Perl是编程语言
Python
Perl
and
are
programming
languages
我希望分割输入,但大写单词会排在最前面。我正在考虑使用两个列表:一个是标题大小写,另一个是低级。我试图使用if语句将单词放在某个列表中。请提出一些建议!
由于
答案 0 :(得分:4)
您的示例输出错误,因为它看起来像这样:
Perl
Python
and
are
languages
programming
首先按资本排序会导致Perl
高于Python
,因为e
是第一位的。另外,因为大写首先你可以简单地做
print "\n".join(sorted(a.split()))
获得理想的结果。
编辑:在重新阅读问题之后,我想出了这个修复/输出:
print "\n".join(sorted(a.split(), key=lambda x: x >= 'a'))
输出:
Python
Perl
and
are
programming
languages
说明: Python中的排序函数是stable,这意味着如果元素具有相同的比较键,则相对于彼此保留元素的顺序。关键函数会将值True
分配给大于或等于'a'
的任何值(这是以小写字母开头的任何字符串),否则为False
。 False
小于True
,因此任何大写都会移到前面,而不会更改大写或小写单词的顺序。
答案 1 :(得分:1)
如果是家庭作业,你应该给它一个标签“家庭作业”。无论如何,使用两个列表的想法并不坏。
.split()
方法拆分输入句子以获取单词。for
循环中使用拆分表达式来处理提取的单词。word
是字符串变量,则word[0]
是其第一个字符。如果它小于或等于'Z'
,则它是大写单词,应附加到通缉名单。'\n'.join(lst)
从单词列表中获取多行字符串。