Python基础学习二:列表,字典,深拷贝与浅拷贝

④使用pop()方法删除元素:pop方法用于移出列表中的一个元素(默认是最后一个元素),可以指定元素索引,并且返回该元素的值。

    使用del语句删除元素:如果知道要删除的元素在列表中的位置,可使用del语句删除元素,元素一旦被删除之后就再也无法访问。

    使用remove()方法删除元素:当不知道元素索引,只知道元素值的时候,使用remove()方法删除元素。

⑤查询数据

    in(存在),如果存在那么结果为true,否则为false

    not in(不存在),如果不存在那么结果为true,否则false

⑥列表函数

    len(list)    返回列表元素个数

list05 = ['jack', 'jane', 'joe', 'black']

 

# 查看列表的长度 返回列表元素

print(len(list05))

    max(list):返回列表元素中的最大值。默认数值型的参数,取最大值。字符型的参数,取字母排序靠后者。

    min(list):返回列表元素中的最小值。默认数值型的参数,取最小值。字符型的参数,取字母排序靠前者。

    list.count(obj):统计某个元素在列表中出现的次数

    extends(list):扩展列表,在一个列表的末尾一次性追加一个新的列表,参数为一个列表

    list.index(obj):用于从列表中找出某一个值第一个匹配项的索引位置

    list.reverse():反向列表中的元素

    list.sort():对列表进行排序,该方法没有返回值。更改的是原数组

    list.clear():用于清空列表

    list.copy():复制列表

    列表的切片

a = [1, 2, 3]

b = [11, 22, 33]

c = [111, 222, 333]

 

list01 = [a, b, c]

print(id(list01))

list02 = list01[:]

print(id(list02))

# 查看list01list02

print(list01)

print(list02)

    

    ⑦元组函数

    元组和列表不一样,元组中的元素值是不允许被单独修改和删除的,但是我们可以使用del语句来删除整个元组。

 

    ⑧字典

    字典是另外一种可变容器类型,且可以存储任意类型对象。列表元素进行修改的话,通过所以进行修改,如果当前元素的顺序放生改变,此时还需要修改索引才能成功完成元素的修改,有没有办法,技能存储多个数据,又能很方便准确的定位元素呢:字典

 dict01 = {'name': 'joe', 'age': '19', 'address': '上海'}

print(dict01)

print(dict01['name'])

    访问下标['name'],中括号指得是下标而不是列表

    修改字典元素,通过找到指定的KEY进行修改

dict01['name'] = 'jack'

print(dict01)

    追加元素,直接添加一个原字典中没有的元素

 dict01['hobby'] = '足球'

print(dict01)

    删除元素也可已删除整个字典,但此操作危险性较大,推荐清空元素

 dict01 = {'name': 'joe', 'age': '19', 'address': '上海'}

del dict01['address']

print(dict01)

    清空

dict01.clear()

print(dict01)

    获得,如果字典中有该KEY对应的元素,就输出原来的,如果没有则输出指定的元素,但并不改变原字典中的内容

dict01 = {'name': 'joe', 'age': '19', 'address': '上海'}

print(dict01.get('sex', ''))

print(dict01)

key in dict 如果键在字典dict里返回true,否则返回false

print(dict01.keys())

print(dict01.values())

print(dict01.items())

items返回元组,并将内容全部显示出来

    ⑨深拷贝和浅拷贝

    可变(mutable)参数和不可变参数(immutable)参数

    Python中string、tuple和number是不可变对象,而dict、list等是可变对象;不可变对象在进行重新赋值的时候,实际上是将原始值丢弃,将变量指向一个新值;可变对象的可变性实质上是指更改可变对象中的子对象,比如list中的item元素的更改。

    浅拷贝:不拷贝子对象(针对子对象中的item),当子对象进行更改的时候,原始对象也会改变。常见操作:列表的切片操作[:]、list()操作、字典的copy()函数、copy()模块的copy()

    深拷贝:会拷贝子对象,当对原始对象子对象进行更改的时候,原始对象不会改变。常见操作:copy模块的deepcopy()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章