Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
274 views
in Technique[技术] by (71.8m points)

python - How do I check if there is a uppercase letter in a string within a list of strings?

I have a list of words:

str_list = [“There”, “is”, “ a Red”, “”, “shirt, but not a white One”]

I want to check if there is a capital letter in every word in the list and if so I want to make a new list like this:

split_str_list = [“There”, “is”, “ a ”, ”Red”, “”, “shirt, but a white “, ”One”]

I tried:

for word in range(len(str_list)):
if word.isupper():
    print str_list[word]

but it does not checking each letter but all of them in a string.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You can use re.split():

import re
import itertools
str_list = ['There', 'is', ' a Red', '', 'shirt, but not a white One']
final_data = list(itertools.chain.from_iterable([re.split('s(?=[A-Z])', i) for i in str_list]))

Output:

['There', 'is', ' a', 'Red', '', 'shirt, but not a white', 'One']

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...