列表.删除在python中,无法识别命令

2024-09-27 20:21:13 发布

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

我有一个名为“comms\u chairs”的python列表,其结构如下:

[['  Chairwoman Debbie Stabenow ', 'Agriculture:'], ['  Chairman Tim Johnson' ',' 'Banking'], ['  Chairman Jay Rockefeller ', 'Commerce:'], ['  Chairman Jeff Bingaman', 'Energy:']

当我输入comms\u chairs[0]时,我得到(如预期的那样)

['  Chairwoman Debbie Stabenow ', 'Agriculture:']

但是,当我试图从列表中删除字符串“Chairwoman”时,以下操作失败:

>>> type(comms_chairs[0])
<type 'list'>
>>> comms_chairs[0].remove(' Chairwoman')
Traceback (most recent call last):
 File "<pyshell#104>", line 1, in <module>
   comms_chairs[0].remove(' Chairwoman')
ValueError: list.remove(x): x not in list

同样的问题,当我没有把空格放在Chairwoman之前。这是怎么回事?在我看来Chairwoman就是comms_chairs[0]。我的总体目标是删除所有的Chairwoman和“主席”字符串,但了解列表的总体情况可能是有益的。如果不明显的话,我对Python完全是个新手。你知道吗


Tags: 字符串in列表type结构removelisttim
3条回答

' Chairwoman'不在comms_chairs[0]中。它是comms_chairs[0][0]的子串,但不是comms_chairs[0]的元素。您遇到的问题类似于您在尝试comms_chairs.remove(' Chairwoman')时遇到的问题。你知道吗

要解决这个问题,可以使用列表理解过滤掉包含' Chairwoman'的字符串,创建一个新的列表,或者在字符串上迭代(以相反的顺序,这样删除它们不会影响迭代),然后删除每个包含' Chairwoman'的字符串。你知道吗

这对第一个有效。你知道吗

 b[0][0].replace(' Chairwoman ','')

comms\u chairs[0]返回一个列表,因此您需要对其进行索引。你知道吗

苏。。。。字符串也是不可变的。意思是如果你想让b[0][0]等于结果,你必须这样分配它:

 b[0][0]=b[0][0].replace(' Chairwoman ','')

写这个

comms_chairs[0].remove('  Chairwoman Debbie Stabenow ')

还要注意,在开头和结尾都有一些空格。你知道吗

相关问题 更多 >

    热门问题