我只想知道如何打印列表中第一个大写字母为的名称,以及忽略谁在python中以小写字母开头而循环
# Input
friends = ["Mohamed", "Shady", "ahmed", "eman", "Sherif"]
# Needed Output
"Mohamed"
"Shady"
"Sherif"
"Friends Printed And Ignored Names Count Is 2"
您可以使用ord内置函数来确定字符是大写还是小写。您也可以使用isupper
方法。这是示例代码:
print([f for f in friends if f[0].isupper()])
isupper(( 函数可以用于此操作。
参考编号:https://www.geeksforgeeks.org/isupper-islower-lower-upper-python-applications/
friends = ["Mohamed", "Shady", "ahmed", "eman", "Sherif"]
# To print the words which start with Uppercase.
for val in friends:
if val[0].isupper():
print(val)
也许不是最优雅的解决方案,但只要你忽略了像"MOhamed":
# Input
friends = ["Mohamed", "Shady", "ahmed", "eman", "Sherif"]
uppercase = []
lowercase = []
for friend in friends:
if friend[0].isupper() == True:
uppercase.append(friend)
else:
lowercase.append(friend)
for name in uppercase:
print(name)
print("Ingnored names: {}".format(len(lowercase)))
如果您希望只有这些值具有第一个大写字母。
friends = ["Mohamed", "Shady", "ahmed", "eman", "Sherif"]
for a in friends:
if a[0].isupper():
print(a)
输出
Mohamed
Shady
Sherif
你也可以试试
friends = ["Mohamed", "Shady", "ahmed", "eman", "Sherif"]
uppercase = list(filter(lambda e: e[0].istitle(),friends) )
lowercase = list(filter(lambda e: e[0].islower(),friends))
print(uppercase)
print(lowercase)
输出
['Mohamed', 'Shady', 'Sherif']
['ahmed', 'eman']
如果您只想要标题大小写"(用于名称。(string您可以使用str.istitle()
。
friends = ["Mohamed", "Shady", "ahmed", "eman", "Sherif"]
for a in friends:
if a.istitle():
print(a)
OUtput
Mohamed
Shady
Sherif
您可以使用for
循环,将列表中的元素与str.capitalize()
和while
进行比较,然后打印元素。
您还需要ignored
计数器来计算最后一条语句中未大写的元素:
friends = ["Mohamed", "Shady", "ahmed", "eman", "Sherif", "BATMAN", 'deJavu']
ignored = 0
for friend in friends:
while friend != friend.capitalize():
ignored += 1
break
else:
print(friend)
print(f"Friends Printed And Ignored Names Count Is {ignored}")
# Mohamed
# Shady
# Sherif
# Friends Printed And Ignored Names Count Is 4