python系统学习:第二周之列表

# 列表
names = ["望海潮", "网管", "清华", "孟磊"]
# 列表取值:类似于数组取值一样,注意:正向顾头不顾尾。
# 取第一个值
print(names[0])
# 取第二以及第三个的值
print(names[1], names[2])
print(names[1:3])
# 取倒数第一的值
print(names[-1])
# 取倒数两个的数据
print(names[-2:])
# 每5个取一个
print(names[::5])
# 列表的追加
names.append("全荣")
print(names)
# 列表指定位置插入
names.insert(0, "津源")
names.insert(-1, "津源")
print(names)
# 列表内容赋予新值
names[0] = "马成"
print(names)
# 列表删除值
# names.remove("建成")
# del names[0]
# names.pop() # 最为特殊的pop,删除了names的最后一个,并存在缓存中
# 找值的位置
print(names.index("网管"))
# 统计有多少重复值
names.append("马城")
print(names)
print(names.count("马成"))
# 清空列表
# names.clear()
# 反转列表
names.reverse()
print(names)
# 排序列表
names.sort()
print(names)
# 扩展列表
names2 = [1, 2, 3, 4]
names.extend(names2)
print(names)
# 列表的复制
import copy
names2 = copy.copy(names) /*浅复制三种方法:
names2 = copy.copy(names) names2 = list(names) names2 = names[:]*/
names2 = copy.deepcopy(names)
# 上面的是浅复制,下方的是深复制,现在没完全搞明白这两者在python中的应用,日后在练习中有了进一步认识之后再进行详细解答。但是要注意:深复制尽量不用,占内存

# 第二天的补充:
# 列表的深copy和浅copy
# 提前总结:浅copy只复制一层,深层copy完全克隆
import copy

names1 = ["wanghaichao", [200], "wangguan", ["xigua", "wogua"]]
names2 = names1[:]
names3 = names1[:]
# 假设名字为冬瓜和日本瓜
names2[0] = "冬瓜"
names3[0] = "日本瓜"
# 假设200是他们的共同账户,当冬瓜的账户变少的时候,日本瓜也应该变少
names2[1][0] = 20
print('names2:', names2)
print('names3:', names3)
# 今天我的理解是:浅复制可以应用在:让可变参数在列表第二层,参数会随前者变化而变化,但是后者基本项(一层数据)不变
 
# 元组
# 元组就是列表:只能查不能改,只有两个方法:count/index,使用小括号包围
/* 喜欢的同学加我博客一起讨论*/
posted @ 2018-10-24 16:18  牛屎虫  阅读(155)  评论(0编辑  收藏  举报