问题描述
List1 = ['name','is','JOHN','My']
我想将代词附加到新列表的第一项中,最后附加名称。其他项目应该在中间,并且它们的位置可以更改。
到目前为止,我已经写过:
my_list = ['name','My']
new_list = []
for i in my_list:
if i.isupper():
my_list.remove(i)
new_list.append(i)
print(new_list)
在这里,我无法检查某个项目是完全大写还是仅其首字母是大写。
我得到的输出:
['name','My']
我想要的输出:
['My','name','JOHN']
或:
['My','JOHN']
编辑:我看到过this个帖子,但没有我的问题的答案。
解决方法
i.isupper()
会告诉您是否全部大写。
要测试仅第一个字符是大写字母,其余字符是小写字母,可以使用i.istitle()
要获得最终结果,您可以根据条件附加到不同的列表。
all_cap = []
init_cap = []
non_cap = []
for i in my_list:
if i.isupper():
all_cap.append(i)
elif i.istitle():
init_cap.append(i)
else:
non_cap.append(i)
new_list = init_cap + non_cap + all_cap
print(new_list)
,
如何?
s = ['name','is','JOHN','My']
pronoun = ''
name = ''
for i in s:
if i.isupper():
name = i
if i.istitle():
pronoun = i
result = [pronoun,s[0],s[1],name]
print(result)
,
不要@我请XD。试试这个。
daemon.json