简体   繁体   English

如何在Python中分隔大小写的单词?

[英]How to separate words that have uppercase and lowercase in Python?

I need to separate words that have at least one uppercase letter with the lowercase. 我需要将至少有一个大写字母的单词与小写字母分开。 I need to take input and separate uppercase words and lowercase words and print them both. 我需要输入并将大写单词和小写单词分开,并同时打印它们。 Here is my code: 这是我的代码:

text = input("Input your text: ")
words0 = text.strip().split()
words1 = []
words2 = []
wordslen= len(words0)
for word in words0:
    counter = 0
    for x in word:
        while counter != wordslen:
            if x.isupper():
                words1.append(word)
            else:
                words2.append(word)
            counter += 1
wordsupper = list(set(words1))
wordslower = list(set(words2))
allwords = wordsupper + wordslower

for word in allwords:
    print(word)
words = input("Input your text: ").strip().split()

lower, mixed = set(), set()
for word in words:
    if word == word.lower():
        lower.add(word)
    else:
        mixed.add(word)

print("Lowercase words: " + ", ".join(lower))
print("Mixed- and uppercase words: " + ", ".join(mixed))

which runs like: 运行方式如下:

Input your text: This is a Perl and Python party.
Lowercase words: a, and, is, party.
Mixed- and uppercase words: This, Python, Perl

this is similar to previous posts, but uses map() instead of for word in words: 这与以前的帖子类似,但是使用map()代替for word in words:

text = raw_input("Input your text: ")
words = text.strip().split()

upper = []
lower = []
def sort_word(word):
    if word.lower() == word:
        lower.append(word)
    else:
        upper.append(word)

map(sort_word, words)

To separate words that have only lowercase characters from the rest: 要将其余仅包含小写字母的单词与其他单词分开:

text = raw_input('Input text: ')

lower, rest = set(), set()
for word in text.split():
    (lower if word == word.lower() else rest).add(word)
print(lower)
print(rest)

Maybe something like this: 也许是这样的:

text = input("Input your text: ")
words = text.strip().split()
wordslower = []
wordsupper = []

for word in words:
    # if the word is the same as word.lower() that means all the
    # characters are lower case.  Also, don't add duplicates to
    # the list.
    if word == word.lower():
        if word not in wordslower:
            wordslower.append(word)
    else: # The word has at least one capital letter
        if word not in wordsupper:
            wordsupper.append(word)

print(wordslower)
print(wordsupper)

Try this: 尝试这个:

def check(word):
    for k in word:
        if k != k.lower(): #If the letter is capitalized
            return True
    return False

text = input('Text: ')
text = text.strip().split()

wordsupper = []
wordslower = []

for k in text:
    if check(k) == True:
        wordsupper.append(k)
    else:
        wordslower.append(k)

print(wordslower)
print(wordsupper)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何在一个句子中交替替换单词中的大写和小写字母? Python - how to replace uppercase and lowercase letters in words alternately in a sentence? Python Python-需要将具有大写和小写单词的列表更改为全部小写 - Python - need to change a list with uppercase and lowercase words into all lowercase 如何用逗号分隔小写和大写字母? - How to separate lowercase and uppercase letters with commas? 从输入Python3查找大写小写单词。 - Finding uppercase lowercase words from an input, Python3. 读取文件,并将小写和大写分隔为两个不同的文件(Python) - Read file and separate lowercase and uppercase to two different files (Python) 如何在 python 中允许输入为小写和大写? - How to allow an input to be in lowercase and uppercase in python? 如何在python中将UTF大写字符转换为小写 - How to convert UTF uppercase characters to lowercase in python 尽管使用 pandas 是大写还是小写,如何查找单词? - How to look for words despite being in uppercase or lowercase using pandas? 如何对列表进行排序以在大写字母之前获取所有小写字母单词? - How to sort a list to get all lowercase alphabet words before uppercase? 如何编辑 pandas dataframe 以删除小写单词但保留大写单词? - How to edit pandas dataframe to remove lowercase words but keep uppercase ones?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM