我是编程新手。
基本上在浮点列表中,我希望程序打印以'1'或'-1'开头的每个浮点数。到目前为止,这就是我所拥有的。
def oneminus(L):
for i in range(len(L)):
if L[i][0]=='1':
print(L[i])
elif L[i][0]=='-' and L[i][1]=='1':
print(L[i])
但是,当我运行程序时,出现错误“ TypeError:'float'对象不可下标”,因此我假设问题是由于列表包含浮点数。
问题在于您将元素视为字符串,而不是浮点数。与PHP和Javascript不同,Python没有隐式类型强制。如果要获取字符串表示形式,则必须使用str
或对其进行显式转换repr
。
你想要的是类似的东西
def oneminus(L):
for x in L:
if str(x).startswith('1') or str(x).startswith('-1'):
print(x)
您可以利用来缩短它的时间str.strip
。
def oneminus(L):
for x in L:
if str(x).strip('-').startswith('1'):
print(x)
另外请注意,您可以直接遍历列表。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句