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 ...
随机推荐
- 后缀自动机专题(hihocoder)
传送门 #1445 : 后缀自动机二·重复旋律5 题意: 给出字符串\(s\),询问字符串\(s\)中有多少不同的子串. 思路: 考虑对\(s\)建后缀自动机,那么\(\sum (len[i]-len ...
- adb 命令之push pull
C:\Users\ceshi>adb pull /storage/emulated/legacy/00001.vcf D:/E:\eclipse\Demo1>adb push E:\ecl ...
- 16-cmake语法-OpeCV3.3.1_CMakeLists.txt的部分注释
OpeCV3.3.1 的 CMakeLists.txt 的部分注释. # Disable in-source builds to prevent source tree corruption. # @ ...
- VMWare中CentOS 7 配置 XShell连接
https://jingyan.baidu.com/article/363872ec796dfc6e4ba16f09.html http://www.cnblogs.com/iskylite/p/76 ...
- java 多态(向上转型)
多态的定义与使用格式 多态的定义格式:就是父类的引用变量指向子类对象 父类类型 变量名 = new 子类类型(); 变量名.方法名(); 普通类多态定义的格式 父类 变量名 = new 子类(); ...
- 删除github中某个文件夹
在上传项目到github时,忘记忽略了某个文件夹target,就直接push上去了, 最后意识到了此问题,决定删除掉远程仓库中的target文件夹 删除前: 删除后: 在github上只能删除仓库,却 ...
- listings技巧
1. \lstdefinestyle 参考 https://blog.csdn.net/ProgramChangesWorld/article/details/52142313 我们在使用listin ...
- Gamma阶段第八次scrum meeting
每日任务内容 队员 昨日完成任务 明日要完成的任务 张圆宁 #91 用户体验与优化https://github.com/rRetr0Git/rateMyCourse/issues/91(持续完成) # ...
- 一个sh脚本 同时运行 多个sh脚本
问题: 原来的启动方式 cd /opt/OpenIMSCore ./pcscf.sh ./icscf.sh ./scscf.sh cd /opt/OpenIMSCore/FHoSS/deploy ./ ...
- Java基础之十六 数组
数组:可以创建并组装它们,通过使用整型索引值访问它们的元素,并且它们的尺寸不能改变. 16.1 数组为什么特殊 数组与其他种类的容器之间的区别有三方面:效率,类型和保存基本类型的能力. 数组是一种效率 ...