列表,字典
来源:互联网 发布:服装面料软件 编辑:程序博客网 时间:2024/06/07 16:51
列表,字典
- 列表字典
- 列表
- 列表方法调用
- 深浅拷贝
- 集合set
- 集合类型操作符
- 字典
- 列表
列表
list
最具灵活性的有序集合对象类型
L = []L = [0,1,2,3]L = [0,1,2,[4,5,6]]L[I]L[I][J]L[I:J]L1+L2L.append(4) # 插入单个元素L.extend([5,6,7]) #插入一个列表,插入几个元素,列表会多几个元素l.insert(1) #在偏移处插入l.index(1) #首次出现的位置l.count(x) #计数l.sort() #排序与reverse合用,可以实现从大到小l.reverse() #元素反转del l[k] del l[i:j]l.pop() #删除某个位置l.remove(2) #删除元素l[i:j]=[] #重新赋值l[i]=1 #重新赋值l[i:j]=[4,5,6] #重新赋值
列表方法调用
l[0:3]=l[:3]
append与sort
L.append(‘please’)
L.sort() #递增 修改了列表
append与L+[]的区别
append是原地列表
+是生成新列表
l.sort(key=str.lower,reverse=True)
排序的key参数也很有用
以后内置函数sortef比sort方法更好用
深浅拷贝
s = ['abc','ABD']s2 = s.copy()print(s2)s2[0] = 3print(s2)------------------['abc', 'ABD'][3, 'ABD']
修改字符串不影响原先的
s = [[2,3,4],'ABD',158]s2 = s.copy()print(s2)s[0][0] = 3print(s2)print(s)------------------[[2, 3, 4], 'ABD', 158][[3, 3, 4], 'ABD', 158][[3, 3, 4], 'ABD', 158]
修改序列影响原来的
深拷贝=克隆
浅拷贝=只拷贝第一层
#不是深浅拷贝,注意a = [[1,2],3,4]b = ab [1] = 123print(b)print(a)---------------[[1, 2], 123, 4][[1, 2], 123, 4]
集合set
所有python中所有不可改变的的对象(imutable objects)都是可哈希的,比如字符串,元组,也就是说可改变的容器如字典,列表不可哈希(unhashable)
set里的 元素一定是不可变的元素,元素是可哈希的,无序的不重复的,没有切片,索引,取值
取值可以通过 for ,in,not in 循环和迭代器
集合成员可以做字典的键
a = set('wang')print(a)-----------------{'n', 'w', 'a', 'g'}
a = {'wang','lei'}print(a,type(a))--------------{'lei', 'wang'} <class 'set'>
集合分类:可变集合,不可变集合
可变集合(set):可添加删除元素,非可哈希(set函数本身是非可哈希的),不能用作字典的键,也不能做其他集合的元素
不可变集合(frozenset):与上相反
s = ['wang',123]a = set(s) #a是非可哈希c = {a:'lei'} #报错
a = {'wang','lei'}a.add('www') #add加入整体print(a)--------------{'lei', 'www', 'wang'}---------------------a = {'wang','lei'}a.update('abc') #update分散开,重复的只打印一个print(a)---------------{'wang', 'lei', 'b', 'c', 'a'}a = {'wang','lei'}a.update([12,'eee']) #update加字典print(a){'wang','lei',12,'eee'}a.remove(12) #删除a.pop() #随机删除a.clear() #清空
集合类型操作符
1.in,not in
2.等价于不登等价
set('alex')==set('alexe') #等价.左边四个元素的集合,右面也是4个元素的集合(不重复),不能有其他的元素
3.子集,超集
print(set('wang') < set('wanglei'))
4.并集(|),交集(&),差集(-),反向交集(^)
差集考虑两者前后顺序,反向交集是除了交集之外的
字典
键不可变
D = {} #空D = {'ABC':2,265:'fd'}D = {'ABC':{1:2},265:'fd'}D = dict.fromkeys(['a','b']) D = dict(zip(keyslist,valslist))D = dict(name='bob',age=40)D['dfe'] = 'fjd' #增加dfe键,fjd值D[ABC][1] #键测试是否在字典'fd' in D #关系测试D.keys() #查看所有键D.valus() #查看所有值D.items() #所有项目以元组形式D.copy() #复制D.get(default) #输入键,返回值D.update(d2) #合并键值对D.pop(key) #删除键len(D) #长度D[key] = 42 #修改键del D [key] #删除键list(D.keys()) #用列表方式提取键D1.keys()&D2.keys() #交集Dictionary views (Python 3.0)D = {x:x*2 for x in range(10)}
- 列表,字典
- python 字典列表 列表字典
- 合并列表生成字典
- 字典与散列表
- 批量生成字典、列表
- Password 字典列表
- Python字典、列表排序
- 字典与散列表
- python: 列表、字典
- 列表&字典解析式
- 列表元组字典
- 字典使用 + 列表使用
- python列表,字典
- Python +字符串+列表+字典
- python列表 数组 字典
- python列表VS字典
- Python列表数组字典
- python 列表转字典
- 文章标题王二强
- 第九届山东理工大学ACM网络编程擂台赛 正式赛 sdut4074博弈
- 【练习】制作简易通讯录
- 游戏开发——本身也是游戏
- 网络编程基础(一)
- 列表,字典
- 封装OKHttp
- Matlab 2015b 原先正常使用,突然让重新激活
- Linux基础命令详解之权限管理
- HDU--6063--RXD and math
- java作业gui1
- Socks
- 安卓使用videoview进行音频、视频播放,及播放控制
- 静态资源文件管理