Why can't I remove character from the list? Also why can't I even print the element?
本问题已经有最佳答案,请猛点这里访问。
我对这个代码有两个问题。首先,它不会删除列表行末尾的''。所以我试着打印X来看看到底发生了什么,但是我遇到了第二个问题,那就是X不能被打印出来。似乎有些断行和"51"被打印出来了,但为什么只有那些而不是其他?
怎么会这样?我完全不知道。
编辑:这不是副本。我想知道为什么它不能删除,但为什么它不能打印。@阿兰费在你把问题标记为重复之前先把它读了。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | row = [' ', '2017-18 ', ' ', 'GSW', ' ', ' ', '51', ' ', '32.0', ' ', '26.4', ' ', '8.4', ' ', '16.9', ' ', '49.5', ' ', '4.2', ' ', '9.8', ' ', '42.3', ' ', '5.5', ' ', '5.9', ' ', '92.1', ' ', '0.7', ' ', '4.4', ' ', '5.1', ' ', '6.1', ' ', '3.0', ' ', '1.6', ' ', '0.2', ' ', '2.2', ' ', '43.8', ' ', '5', ' ', '0', ' ', '9.5', ' '] i = 0 for x in row: print(i,":", x) if x in (' ', '°', '%'): row.remove(x) i+=1 print(row) |
它的输出是
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | 0 : 1 : 2 : 3 : 51 4 : 5 : 6 : 7 : 8 : 9 : 10 : 11 : 12 : 13 : 14 : 15 : 16 : 17 : 18 : 19 : 20 : 21 : 22 : 23 : 24 : 25 : 26 : 27 : ['2017-18 ', 'GSW', '51', '32.0', '26.4', '8.4', '16.9', '49.5', '4.2', '9.8', '42.3', '5.5', '5.9', '92.1', '0.7', '4.4', '5.1', '6.1', '3.0', '1.6', '0.2', '2.2', '43.8', '5', '0', '9.5', ' '] |
号
您可以在此处运行此代码:https://repl.it/@leonardchoo/listnotworking
试试这个,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | row = [' ', '2017-18 ', ' ', 'GSW', ' ', ' ', '51', ' ', '32.0', ' ', '26.4', ' ', '8.4', ' ', '16.9', ' ', '49.5', ' ', '4.2', ' ', '9.8', ' ', '42.3', ' ', '5.5', ' ', '5.9', ' ', '92.1', ' ', '0.7', ' ', '4.4', ' ', '5.1', ' ', '6.1', ' ', '3.0', ' ', '1.6', ' ', '0.2', ' ', '2.2', ' ', '43.8', ' ', '5', ' ', '0', ' ', '9.5', ' '] row = [x for x in row if x not in [' ', '°', '%']] for i, x in enumerate(row): print(i, x) |
产量
1 2 3 4 5 6 | 0 2017-18 1 GSW ... 23 5 24 0 25 9.5 |
号
row = ['', '2017-18 ', '', 'GSW', '', '', '51', '', '32.0', '', '26.4', '', '8.4', '', '16.9', '', '49.5', '', '4.2', '', '9.8', '', '42.3', '', '5.5', '', '5.9', '', '92.1', '', '0.7', '', '4.4', '', '5.1', '', '6.1', '', '3.0', '', '1.6', '', '0.2', '', '2.2', '', '43.8', '', '5', '', '0', '','9.5','']removeelement=["","?","%"]对于列表(行)中的i:如果我在搬迁:行。删除(i)打印(行)