python如果列表中元素少了,如何和数据库中数据做对比去判断,然后删除实际列表中少了的那条数据?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python如果列表中元素少了,如何和数据库中数据做对比去判断,然后删除实际列表中少了的那条数据?相关的知识,希望对你有一定的参考价值。

例:
list = ['列表数据1','列表数据2']
dbdata = ('列表数据1','列表数据2','列表数据3')

如上,如果list原本有3条数据,但是后来修改了元素,该如何和数据库做对比去删除数据库中的'列表数据3'?

参考技术A

首先,不要使用保留字作为变量名:list


# 迭代出所有不包含在list中的项:

for key in filter(labmda _:_ not in list, dbdata):

....delrecord(key)  # 删除操作


Python3 - 列表

序列,一种包含多项数据的数据结构,按照顺序排列,通过索引访问其中的数据。Python 常见的序列类型有字符串、列表和元组。

列表,保存对象的容器,可以存储任意数据类型的数据。所有元素都放在 [ ] 中,用逗号分割每个元素。

列表是可变的。如果一个容器是可变的,则可以修改容器中的对象。将列表中某个元素的索引赋给一个新的对象,即可改变该元素。

如果可以使用循环访问对象中的每一个元素,那么该对象是可迭代的,被称为可迭代对象,因此字符串、列表和元组都是可迭代的。可迭代对象中的每一个元素都有一个索引,即表示元素在可迭代对象中位置的数字。列表的正序索引从 0 开始,倒序索引从 -1 开始。

技术图片

创建空列表

>>> list0 = []
>>> list0, type(list0)
([], <class 'list'>)

元素的查询
1.通过元素的索引来进行列表查询,切片([开始索引:结束索引:步长])列表时遵循顾首不顾尾的原则。

>>> list0 = ['A', 'B', 'C', 'D', 1, 2, 3, 4]
>>> list0[0]  # 查单个元素 
'A'
>>> list0[1], list0[2]  # 查多个元素
('B', 'C')
>>> list0[0:4]  # 切片
['A', 'B', 'C', 'D']
>>> list0[::2]  # 步长
['A', 'C', 1, 3]
>>> list0[:]  # 开始索引和结束索引不写则查询全部元素
['A', 'B', 'C', 'D', 1, 2, 3, 4]
>>> list0[0:0]  # 开始索引和结束索引为 0 ,返回空列表。
[]

2.index() 方法
通过元素查索引,有被查询元素则返回元素的索引值,没有则报错:ValueError。

>>> list0 = ['A', 'B', 'C', 'D', 1, 2, 3, 4]
>>> list0.index('A')
0
>>> list0[list0.index('D')]  # 查找结果返回元素的值:先找索引,在通过索引找元素的值。
'D'
>>> list0.index('E')
Traceback (most recent call last):
  File "<pyshell#16>", line 1, in <module>
    list0.index('E')
ValueError: 'E' is not in list

元素的修改
通过索引来修改元素的值。
注意:索引切片修改时是先把切片匹配到的元素给删除,在插入新的元素,新的元素不限制个数但必须是可迭代的。

>>> list0 = ['A', 'B', 'C', 'D', 1, 2, 3, 4]
>>> list0[0] = 'a'
>>> list0
['a', 'B', 'C', 'D', 1, 2, 3, 4]
>>> list0[1:4] = 'bcef'  # 新元素不限制个数
>>> list0
['a', 'b', 'c', 'e', 'f', 1, 2, 3, 4]

更新时间:2019-08-18

以上是关于python如果列表中元素少了,如何和数据库中数据做对比去判断,然后删除实际列表中少了的那条数据?的主要内容,如果未能解决你的问题,请参考以下文章

Python3 - 列表

Python 3,如果列表中包含特定的东西,如何删除部分元素3 [重复]

python 判断两个列表中相同和不同的元素

如何在python列表中查找某个元素的索引

Python容器--列表

Python容器--列表