【发布时间】:2017-12-18 11:05:58
【问题描述】:
x = ['Book1', 'Book2', 'Book3', 'Book4', 'Book5', 'Book6']
p = ['Book1', 'Book3']
x.pop(x.index('Book2'))
print(x)
print(type(x))
这里我得到了没有 Book2 的 x,类型是 list,正如预期的那样。
x = set(x) - set(p)
list(x)
print(x)
print(type(x))
我的输出是:
{'Book4', 'Book5', 'Book6'}
类“设置”
为什么x 没有转换回列表?
目标是从x 中删除p 中的itens,我知道我可以使用列表理解来做到这一点,但我正在使用它来研究建议。在该过程之后,我将向x 添加更多项目,这就是为什么我需要返回list 类型,否则我会收到此错误:
TypeError:只能将列表(不是“设置”)连接到列表
【问题讨论】:
-
x.pop(x.index('Book2'))可能是x.remove('Book2') -
谢谢@Chris_Rands 忘了
remove(),你说得对
标签: python python-3.x list set