最近在写爬虫爬取淘宝网页内容,遇到了关于列表的一些坑,记录下来,以免以后再掉进坑里
一、删除列表中的多个指定的元素
1.1、列表可以直接根据位置(通过访问下标的形式)找到某个元素,但如果根据元素内容访问元素就比较麻烦了,
#方法一:错误的方法,会产生漏删情况,究其原因是列表在删除的时候,列表的长度也在改变
c=['hp','mac','HUAWEI','linux','jack']
i=0
l=len(c)
#方法一
# while i<l:
# if 'hp' in c[i] or 'mac' in c[i]:
# del c[i]
# l-=1
# i+=1
# print(c)
1.2、正确的算法实现,这种方法能实现删除列表中一个指定的内容
在这里插入代码片
words=['gooo','gooo','hp','hp','gooo','hp','gooo','hello','hp','gooo','goods','gooo','hp','world','digot', 'gooo','alpha''hp','gooo',]
w='hp'
m='gooo'
i=0
l=len(words)
while i<l:
if m in words[i]:
del words[i]
# i=i-1
l-=1
continue
i+=1
print(words)
结果如下:删除了所有的gooo元素
二、列表中的赋值和加法算术运算
2.1、在这里,并没有对list1列表操作,但是list1还是改变了,原因list2可能是一个指向了list1地址的指针,
list1=[1,2,3,4,5]
list2=list1
list2[1]=8
print(list1)
2.2、列表中的+与append
list1=[1,2,3,4,5]
list2=[6,7,8,9]
list=list1+list2#列表中添加列表元素,一维列表
list1.append(list2)#列表中添加列表,嵌套列表
print(list1)
print(list)