美文网首页
Day7 总结

Day7 总结

作者: 312d026ea2dd | 来源:发表于2018-11-13 17:59 被阅读0次

一.列表的相关方法

1.列表赋值
"""
a.直接使用一个列表变量给另一个列表变量赋值,赋的是地址。
赋完值之后,对其中一个列表进行增删改,会影响另一个列表
b.如果赋值的时候赋的列表的切片或者拷贝,会产生新的地址,然后使用新的地址赋值。
赋完值之后,两个列表相互之间不影响
"""

# 现象1:
list1 = [1, 2, 3]
list2 = list1
list2.append(100)
print(list1)   # [1, 2, 3, 100]
list1 = [1, 2, 3]
list2.append(200)
print(list1)
# 现象2:
list1 = [1, 2, 3]
list2 = list1[:]
list2.append(100)
print(list1)   # [1, 2, 3]

2.列表中的方法

"""
1.列表.count(元素) - 获取指定元素在列表中出现的次数

numbers = [100, 34, 90, 89, 100, 7, 100, 18]
print(numbers.count(100))

2.列表.extend(序列) - 将序列中所有的元素都添加到列表中

numbers.extend(['abc', 'hello'])
print(numbers)
numbers.extend('world')
print(numbers)
numbers.extend(range(11, 15))
print(numbers)

3.列表.index(元素) - 获取指定元素的下标

注意:a.如果元素有多个,只去第一个的下标
b.如果这个元素不存在,会报错(ValueError)

numbers = [3, 1, 2, 3, 4, 5, 3]
print(numbers.index(3))   # 0
# print(numbers.index(33))  # ValueError: 33 is not in list

4.列表.reverse() - 反向列表(将列表元素倒序)

numbers = [19, 89, 2, 8, 98, 10, 32]
numbers.reverse()
print(numbers)

5.列表.sort() - 对列表进行升序排序(从小到大)
列表.sort(reverse=True) - 对列表进行降序排序(从大到小)

注意:列表的要求:a.列表的元素类型必须一样 b.元素支持比较运算符

numbers = [19, 89, 2, 8, 98, 10, 32]
numbers.sort()
print(numbers)

numbers = [19, 89, 2, 8, 98, 10, 32]
numbers.sort(reverse=True)
print(numbers)

names = ['路飞', '娜美', '山治', '罗宾', '弗兰克', '乔巴', '佐罗']
names.sort()
print(names)

6.列表.clear() - 清空列表

names = ['路飞', '娜美', '山治', '罗宾', '弗兰克', '乔巴', '佐罗']
names.clear()
print(names)

# 注意: 清空列表尽量使用clear()
# names = ['路飞', '娜美', '山治', '罗宾', '弗兰克', '乔巴', '佐罗']
# names = []
# print(names)

7.列表.copy() - 将列表中元素直接赋值一份产生一个新的列表。和列表[:]效果一样
注意: 这儿的拷贝是浅拷贝

list1 = [1, 2, 3]
list2 = list1.copy()
print(list2)
print(list1 is list2)   # False

二.浅拷贝和深拷贝的应用

import copy
"""
copy.copy(对象)  - 浅拷贝 (直接拷贝元素的值产生一个新的地址)
copy.deepcopy(对象) - 深拷贝(不会直接复制地址,而是将地址对应的值拷贝一份产生新的地址)
numbers1 = [1, 2, 3]
numbers2 = [10, 20, 30]
list1 = [numbers1, numbers2]

print('1.浅拷贝:')
list2 = list1.copy()
print('修改前list1:', list1)
print('修改前list2:', list2)
print('针对list1进行修改')
list1.append(111)
list1[0].append(100)
print('修改后list1:', list1)
print('修改后list2:', list2)


numbers1 = [1, 2, 3]
numbers2 = [10, 20, 30]
list1 = [numbers1, numbers2]
print('2.深拷贝')
list2 = copy.deepcopy(list1)
print('修改前list1:', list1)
print('修改前list2:', list2)
print('针对list1进行修改')
list1.append(111)
list1[0].append(100)
print('修改后list1:', list1)
print('修改后list2:', list2)

相关文章

  • 挑战day31

    【周末】:休息 【日常】:项目day7 进度太快,没有吸收。明天开始总结一下。 【新习惯】: 泡脚...

  • 阅读笔记29

    Day7/21 【今日读书】《穷查理宝典》第4章第11讲 【今日读书时间】07:30-08:30 【阅读总结】 ...

  • day7总结

    6:45起床(未完成) 700-7:45背诵英语 未完成 7:50-9:40看数学书或者视频教学(未完成) 9:5...

  • day7总结

    一、函数的定义 1.函数:就是对实现某一特定功能的代码块的封装2.作用:封装(将功能绑定在一个函数中,想要使用这个...

  • Day7 总结

    一.列表的相关方法 1.列表赋值"""a.直接使用一个列表变量给另一个列表变量赋值,赋的是地址。赋完值之后,对其中...

  • day7 总结

    1.浅拷贝和深拷贝 1.import copycopy.copy(对象) - 浅拷贝 (直接拷贝元素的值产生一个...

  • Day7总结

    Day4 单词 shake up 引起大变化 Day 5 神句翻译 Day 6 觉得自己还需要提高很多 第一就是 ...

  • day7总结

    一、进制 十进制基数:0,1,2,3,4,5,6,7,8,9进位:逢10进1位权:123(10) = 3100 +...

  • 《财务自由之路》Day7

    Day7/21 【今日读书】财务自由之路 【今日读书时间】 13:00-14:00 【阅读总结】 今天完成本书89...

  • 2018-08-15

    Day7/21 01-鹏鹏-银行PM 【今日读书】《穷查理宝典》第4、5讲 【今日读书时间】地铁上 【阅读总结】 ...

网友评论

      本文标题:Day7 总结

      本文链接:https://www.haomeiwen.com/subject/opilfqtx.html