python基础04--list,cou,dict
1.1 列表list
1、列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串,列表,元组,集合,字典
2、列表是有序的, 可以索引,切片
3、List中的元素是可以改变的
4、list
len(list1) 长度
list1 + list2 多个列表链接
list1*3 列表重复
3 in list1 in判断元素是否在列表中
5、List操作:
增:
list1.append(值) 在列表最后增加值
list1.insert(下标,元素) 向指定位置插入元素
list1.extend(seq) 在列表末尾一次性追加另一个序列的多个值 seq可以是字符串,元组,集合,字典(取字典的key值)
删:
list1.pop(index) 移除元素,并返回该元素的值, 若没有传入元素,则默认为最后一个元素 列表被改变
list1.remove(元素) 移除列表中某个值的第一匹配项 列表被改变 没有返回值
list1.clear() 清空列表
del list1 删除列表
del list1[2:1] 切片去删除列表元素
改:
list1[index] = 新元素
list1[0:2] = 新元素 把对应切片元素去掉后,换成新元素最小的多个值
查:
list1[index]
for 循环
公共方法:
len(list1) 返回列表的元素个数
list1.count(元素) 返回元素在列表中的个数
list1.index() 返回元素索引,找不到报错
max(list1) 返回列表元素最大值
min(list1) 返回列表元素最小值
list(seq) 转换 seq可以是字符串,元组,集合,字典(取字典的key值)
排序:
list1.sort() 对列表正向排序 列表被改变 元素一定要相同类型
list1.sort(reverse = True) 对列表反向排序
list1.reverse() 反转列表中的元素 列表被改变
list.copy() 复制列表。浅复制。列表中有内嵌列表时,改变内部列表,copy的列表也会改变
列表的嵌套: 列表中元素的类型可以不相同,它支持数字,字符串,列表,元组,集合,字典
li= [1][1] 深层查找
1.2 元祖 couple 只读列表,可循环查询,可索引切片
1、儿子不能改,孙子可能可以改
2、tup1=()#空元组 tup2=(20,)# 一个元素,需要在元素后添加逗号
3、元组可以使用+链接多个元组
4、列表转化为字符串
s.join(可迭代对象) 用s链接可迭代对象中的每一个元素,返回字符串
例子: str = “women”
“++”.join(str) 返回 w++o++m++e++n
5、元祖操作:
del tou1 删除整个元祖
len(tou1) 返回元祖元素个数
max(tou1) 元组中最大值
min(tou1) 元组中最小值
touple(seq) 转换 seq seq可以是字符串,元组,集合,字典(取字典的key值) 不改变原来的对象
1.3 字典 dict
1、dict key 必须是不可变数据类型,
value 任意数据类型, 可以是任何python对象
dict 优点:二分查找去查询
存储大量的关系型数据
特点:3.6以上是 有序的(按照增加的顺序排列)
2、创建空字典使用 { }
3、dict操作
增:
dic1[key] = value 没有对应的键值对,添加
dic1[key] = value 有对应的键值对,修改
dic1.setdefault(key,value) 有对应的键值对,不修改,没有才添加
value未传值默认为 None
删:
dic1.pop(key) 有返回值,按key来删除。 如果key没有,默认会报错。
dic1.pop(key,”自定义”) 如果设置可以返回设置值
dic1.popitem() 删除最后一个, 返回元祖,值为删除的键值
dic1.clear() 清空字典
del dic1[key] 删除键值对, 没有会报错
改:
dic1[key] = value 有对应的键值对,修改
dic1.update(dic2) 把dic2中的key/value 覆盖添加到dic1中
(如果dic2中和dic1中有相同的 key,则用dic2覆盖dic1)
查:
dic1[key] 返回对应key的值,没有key报错
dic1.get(key) 返回对应key的值,没有key不报错 优先使用
dic1.get(key,”自定义”) 如果设置可以返回设置值
dic1.keys() 以列表返回所有的key
dic1.values() 以列表返回所有的value
dic1.items() 返回一个列表 ,列表中为 一个个(key,value) 元组
for i in dic1:print(i) 打印keys
for i in dic1.values():print(i) 打印values
for k,v in dic1.items():print(i) 打印 key value 对
key in dict 判断key是否在字典中
dic1.clear() 清空字典
len(dic1) 计算字典中key总数
dict.fromkeys(seq,value) 以seq中的元素作为key,value为对应的初始值(没有则为none) seq可以是字符串,元组,集合,字典(取字典的key值),不影响原dict
4、嵌套
dic1[key]
python基础04--list,cou,dict的更多相关文章
- Python基础数据类型-字典(dict)
Python基础数据类型-字典(dict) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版本的哟 ...
- python基础===将json转换为dict的办法
首先json是字符串. 大家都知道,字符串是用来传递信息的.json字符串实际上就是一种规定了格式的字符串, 通过这种格式,我们可以在不同的编程语言之间互相传递信息,比如我们可以把javascript ...
- python基础学习 str,list,dict,set,range,enumerate
一.字符串 s = 'python' s1 = 'python' + 'learn' #相加其实就是简单拼接 s2 = 'python' * 5 #相乘其实就是复制自己多少次,再拼接在一起 字符串切片 ...
- python 基础使用list、dict、set、可变与不可变对象
参考链接:https://www.liaoxuefeng.com/wiki/1016959663602400/1017104324028448 dict是字典,可以储存键值对类型的值,set与dict ...
- 0617 python 基础04
控制流--for 循环 >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 换行输出 >>> for i in range(1 ...
- python学习笔记(二)python基础知识(list,tuple,dict,set)
1. list\tuple\dict\set d={} l=[] t=() s=set() print(type(l)) print(type(d)) print(type(t)) print(typ ...
- Python基础之 一 字典(dict)
字典:是一种key - value的数据类型.语法:info = { key:value }特性:无序,key必须唯一(所以天生去重) 方法如下:del dict[key]:删除字典指定键len(di ...
- python基础知识三 字典-dict + 菜中菜
3.7字典:dict+菜中菜 1.简介 无序,可修改,用于存储数据,大量,比列表快,将数据和数据之间关联 定义:dict1 = {'cx':10,'liwenhu':80,'zhangyu': ...
- python基础:zip和dict详解
一.zip函数:接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表. 1.示例1: x = [1, 2, 3] y = [4, 5, 6] z = [7, 8, 9] xyz = zi ...
- Python基础笔记:使用dict和set
dict 就和 C语言中的 map 的作用一样.查找非常快,以空间换时间! dict的使用: >>> d={'Mike':66,'Bob':77,'John':88} #定义一个di ...
随机推荐
- matplotlib 中的 colors 和 cmaps
matplotlib 中的 148 种颜色 matplotlib 中的 160 种颜色映射 1.matplotlib中的 148 种颜色 import matplotlib as plm import ...
- vue2.0 实现导航守卫(路由守卫)---登录验证
路由跳转前做一些验证,比如登录验证,是网站中的普遍需求. 对此,vue-route 提供的 beforeRouteUpdate 可以方便地实现导航守卫(navigation-guards). 导航守卫 ...
- 201671030103 实验十四 团队项目评审&课程学习总结
项目 内容 这个作业属于哪个课程 任课教师首页链接 这个作业的要求在哪里 作业链接地址 课程学习目标 (1)掌握软件项目评审会流程 (2)反思总结课程学习内容 任务一: 团队项目Github仓库中提交 ...
- gitlab的搭建和使用(转)
工作当中常用的GitHub比较好用,但是安全性不是太强,因为github完全开源的,安全性不高 有空搞一下,先记录几个博客 https://yq.aliyun.com/articles/44531 h ...
- plv8 require 模块试用
plv8 是postgres 的一个比较强大的插件,社区有人基于babel,browserify 实现了一个方便的require 模块加载 实际上官方也有介绍过了类似的基于数据库存储js,然后通过ev ...
- 两次bfs求树的直径的正确性
结论:离树上任意点\(u\)最远的点一定是这颗树直径的一个端点. 证明: 若点\(u\)在树的直径上,设它与直径两个端点\(x,y\)的距离分别为\(S1\).\(S2\),若距离其最远的点\(v\) ...
- Vue响应式原理以及注意事项
响应基于 set 和 get(Object.defineProperty) 类型: 单向绑定 双向绑定 简单例子(基于Object.defineProperty) <!DOCTYPE html& ...
- C实现Linux中copy功能
/* mycp.c */ #include<stdio.h> #include<stdlib.h> #include<unistd.h> #include<f ...
- 2018-2019-2 20165313 《网络对抗技术》 Exp 9 Web安全基础
一.实验要求 本实践的目标理解常用网络攻击技术的基本原理,做不少于7个题目,共3.5分.包括(SQL,XSS,CSRF).Webgoat实践下相关实验. 二.实验问题回答 (1)SQL注入攻击原理,如 ...
- Yarn和Zookeeper的区别
Yarn:分布式资源管理器 Zookeeper:分布式协作服务 Zookeeper是一个分布式协调服务(Coordination),一个leader,多个follower组成的集群,就是为用户的分布式 ...