如何根据浮动元素筛选浮动列表?

2024-05-19 19:48:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我对编程还是个新手。在

基本上在一个浮动列表中,我希望我的程序打印每个以'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'object is not subscribable”,所以我假设问题是由于列表中包含float。在


Tags: andin程序列表forlenifdef
1条回答
网友
1楼 · 发布于 2024-05-19 19:48:00

问题是,您将元素视为字符串,而不是浮点。与PHP不同,Python没有强制类型。如果您想得到字符串表示,必须使用strrepr显式地转换它。在

你想要的是

def oneminus(L): 
    for x in L:
        if str(x).startswith('1') or str(x).startswith('-1'):
            print(x)

你可以利用str.strip来缩短它。在

^{pr2}$

还请注意,您可以直接迭代列表。在

相关问题 更多 >