请记住,我仍然是Python的新手。我有这个问题,我在理解方面遇到了一些麻烦。我试图解决这个问题:
def Sample(A):
for i in range(len(A)):
if A == 1:
print A
elif A == (-1):
print A
问题:
编写一个函数,其中
A
是一个字符串列表,这样打印A
中以'-1'
或'1'
开头的所有字符串
答案 0 :(得分:4)
在您正在测试的if
和elif
A
中,即整个列表是否等于该值,该值永远不会是{{1} }}。而是在True
中测试每个项。你可以坚持你的索引:
A
或更好地直接迭代for i in range(len(A)):
if A[i] == ...
:
A
接下来,要测试字符串是否以字符开头,请使用str.startswith
:
for item in A:
if item == ...
请注意,这使用字符串for item in A:
if item.startswith("1"):
...
,而不是整数"1"
。
答案 1 :(得分:0)
您要比较A
等于1
还是-1
,这是一个糟糕的开始。您应该检查 i 是否以其中任何一个开头。
if i.startwith("1"):
修改强> 我完全编辑了我的答案,因为我第一次误解了这个问题。
答案 2 :(得分:0)
你需要测试两种情况,A中的a_string以'1'开头或以-1开头。
Python提供了许多方法来实现这一目标。首先,是string.startswith('something')方法。这将检查字符串是否以您指定的内容开头。
def Sample(A):
for each_string in A:
if each_string.startswith(('1','-1')):
print each_string