如果我输入"apple Pie is Yummy"
我想要:['Pie','Yummy'] ['apple','is']
我得到:[] ['apple', 'Pie', 'is', 'Yummy']
。在
如果我输入"Apple Pie is Yummy"
我想要:['Apple','Pie','Yummy'] ['is']
我得到:['Apple', 'Pie', 'is', 'Yummy'] []
它的行为就像我的条件运算符在for循环的第一次迭代中只被读取一次,然后附加的迭代不会计算条件。在
str = input("Please enter a sentence: ")
chunks = str.split()
# create tuple for use with startswith string method
AtoZ = ('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z')
# create empty lists to hold data
list1 = []
list2 = []
for tidbit in chunks:
list1.append(tidbit) if (str.startswith(AtoZ)) else list2.append(tidbit)
print(list1)
print(list2)
您正在测试错误的变量;您希望检查}:
tidbit
,而不是{我改为使用Python自己的
^{pr2}$str.isupper()
测试来测试tidbit
的第一个字符:下一个理解是,使用一个有条件的列表来创建一个有条件的列表,因为它有两个很可怕的副作用:
您可以在此处使用
str.isupper()
:帮助(上部结构):
^{pr2}$相关问题 更多 >
编程相关推荐