列表字典元组集合 容易出现的各种函数 方法已经小问题 (想到哪里写哪里)
来源:互联网 发布:淘宝上警服叫什么 编辑:程序博客网 时间:2024/04/29 13:50
1列表 (list)
1若要使列表每个元素都加上相同的值 就要用到列表推导式
b = [23,45,22,44,25,66,78]
[x+2 for x in b]
2列表推导式与切片索引相结合 就能引用一个列表中多个值了 format就不能用此方法
b = [23,45,22,44,25,66,78]
['the content is %d'% x for x in b[0:2]]
3当且切片进行倒叙引用时,后面步长为-1 ,起始从-1开始,取几个数,就在结果+1
b=[2,46,78,93,65,7]
b[-1:-4:-1]
输出为[7, 65, 93]
4 相关函数操作
1生成新的列表 +
a=[1,2,3]
b=[4,5,6]
a+b
输出为
[1, 2, 3, 4, 5, 6]
2 extend 只能在末尾添加列表 其他字符串整形等不能添加
a=[1,2,3] b=[4,5,6] a.extend(b)
输出为[1, 2, 3, 4, 5, 6]
3 append 在末尾添加内容 添加数字就是数字 添加列表就是列表
a=[2,3,4]
b=[5,6,7] a.append(b) print(a)
输出为[2, 3, 4, [5, 6, 7]]
a=[2,3,4]b='sfsdf' a.append(b) print(a)
输出为[2, 3, 4, 'sfsdf']
4 insert: 插入任意对象到列表中,可以控制插入位置 和append十分像 但是insert可以指定
插入位置append只能在末尾插入 必须先指定位置 在插入内容
a=[2,3,4]b='sfsdf' a.insert(1,b) print(a)
输出为[2, 'sfsdf', 3, 4]
5修改 自身修改即可
a=[1,23,56,788,4]a[2]=33333print(a)
输出为[1, 23, 33333, 788, 4]
6删除操作 del pop remove
del :我们通过索引删除指定位置的元素 可以使单个元素 可以是一段 内置参数指的是位置 而非数值 用中括号引用切片
注1 del a 删除列表对象的引用
2 del a[:] 清空列表对象里的元素
a=[1,23,56,788,4]del a[2:4]print(a)
输出为[1, 23, 4]
remove:移除列表中指定值的第一个匹配值(非位置切片)。如果没找到的话,会抛异常
a=[1,23,56,788,4]a.remove(23)print(a)
输出为[1, 56, 788, 4]
pop返回最后一个元素,并从list中删除它。 pop()括号里面是不跟任何元素的
a.pop()
print(a)
[1, 23, 56, 788]
7排序反转 sort reverse
sort 自身从小到大排序 若赋值给b则输出值为None
a=[1,23,56,788,4]a.sort()print(a)
输出为[1, 4, 23, 56, 788]
a=[1,23,56,788,4]b=a.sort()print(b)
输出为NOne
reverse:反转一个list, 他的返回值为none 和sort完全一样 它的功能是反转
2字典(dict)
1可以在原地的key键进行修改
info={'a':[1,2,3],'b':[4,5,6]}
info['a']=['fsdfsd']
print(info)
输出为
{'a': ['fsdfsd'], 'b': [4, 5, 6]}
21 创建字典。{},dict()
info = {'name':'lilei', 'age': 20}info1 = dict(name='lilei',age=20)print(info)print(info1)
输出是一样的
{'name': 'lilei', 'age': 20}{'name': 'lilei', 'age': 20}
2 添加内容a['xx'] = 'xx' 用的是中括号 其实和修改差不多 修改是加入原来没有的key
info = dict(name='lilei',age=20)info['phone'] = 'iphone5'print(info)
输出为
{'name': 'lilei', 'age': 20, 'phone': 'iphone5'}4 删除del,clear,pop
del info['phone'] 删除key 键值 同时相对应的values也消失了
info = dict(name='lilei',age=20)del info['name']print(info)
输出为
{'age': 20}del info[] 删除的是对这个info的引用 删除以后即没有定义
info.clear()删除字典的全部元素
即输出的只是一个空的字典 {}
info.pop('name')
返回name对应的内容,原来的info关于name的内容被删除了。
字典的pop传入的是key 而列表的pop传入的是下表。但是字典若没有指定参数报错,能传出value 而列表只能报错什么都不传出来
5 in和has_key() 成员关系操作
1 phone in info 只判断key 而不是value
2 info.has_key('phone') 两种不同的写法 python3中没有
6返回列表
keys(): 返回的是列表,里面包含了字典的所有键
values():返回的是列表,里面包含了字典的所有值
items:生成一个字典的容器:[()]
7get:从字典中获得一个值
info.get('name') get的是key 返回的是key对应的value
info.get('age2','22') 若列表没有的key 且有value 的值 则范围的是value的值
8多层关系
这里如果一个key下层还有很多分类就用到{ } 接着分层
具体形式是 key:{ } 当成总的一个键
对比 ‘key’=‘’变成‘key’={ }
info={'name':'','age':'25','score':{'yuwen':'80','shuxue':'75','yingyu':'80'}}
输出为 '80'
info['score']['yuwen']9通过字典搜索引用别的函数进行操作 这里以sort()为例
info={'name':'lingming','age':'25','score':{'yuwen':80,'shuxue':75,'yingyu':81}}
info1={'name':'zhangqiang','age':'25','score':{'yuwen':'80','shuxue':'75','yingyu':'80'}}
info1['score']['shuxue']='89'
a=info['score'].values()
b=list(a)
print(b)
print(b.sort())输出为 none 但是已经排序了
3元组(tuple)
通过偏移来取数据可以切分 确保数据可靠性不可修改。
属于不可变的对象,不能在原地修改内容,没有排序,修改等操作。只能通过转换(如list)来进行修改数据。
a=(13,567,734,73)
a[3]
输出为73
4集合
1创建集合
set():可变的 set()
a=set('sfds')
print(a)
输出结果为
{'f', 's', 'd'} 用大括号括起来 并且去重
frozenset():不可变的
2添加操作(区别于list)
1add()添加什么元素就是什么元素,后面不可以跟一个集合
a=set('sfds')
a.add('python')
print(a)
输出为
{'f', 's', 'd', 'python'}
2update() Update()后面可以跟一个集合 并且相当于刷新 有的元素不添加 没有的才添加
a=set('sfds')b=[125,23]a.update(b)print(a)
输出为{'f', 's', 125, 'd', 23}3删除 remove
删除的只能是已经有的元素且只能删除一个(有且只能有一个,因为集合是一个不可重复的集合)
a={'sdf','w','q','w','qw'}a.remove('w')print(a)
输出为
{'qw', 'sdf', 'q'}
- 列表字典元组集合 容易出现的各种函数 方法已经小问题 (想到哪里写哪里)
- 代码规范想到哪里写到哪里
- springmvc 想到哪里写到哪里
- idea的使用,想到哪里就写到哪里
- python的列表,元组,集合,字典
- python的列表、元组、字典、集合
- 列表 字典 集合 元组的区别
- 悲观锁和乐观锁(自己随便写的,想到哪里写哪里)
- 列表、元组、字典、集合
- 能想到哪里就能走到哪里
- maven 想到哪里就写到哪里
- freemaker想到哪里就写到哪里
- easyUi想到哪里就写到哪里
- Python中列表/元组/集合/字典的理解
- python3的列表、元组、集合、字典操作
- 字符串、列表、元组、字典、集合的区别
- 理解Python中列表,元组,字典,集合的区别
- python中列表 元组 字典 集合的区别
- 杭电ACM2015
- 设计模式の策略模式
- Android OnInterceptTouchEvent、dispatchTouchEvent、onTouchEvent时序逻辑分析结论
- c++ complier errors:passed arguments, but takes just
- 阿里云服务器搭建FTP
- 列表字典元组集合 容易出现的各种函数 方法已经小问题 (想到哪里写哪里)
- zipper[POJ]动态规划实现
- 逆元 (数论倒数)
- arm内存映射
- 60.全排列
- 几个项目管理软件的比较
- Scrapy Item Loaders机制详解
- 单例模式
- eclipse中应知道的一些快捷操作方式