Python入门基础学习(列表/元组/字典/集合)
Python基础学习笔记(二)
列表list---[ ](打了激素的数组,可以放入混合类型)
list1 = [1,2,'请多指教',0.5]
公共的功能:
len(list1) #/获取元素
list1[0] #索引
list1[::-1] #切片和步长
常用的功能:
list1.append(xxx) #从末尾追加一个元素
list1.extend(xxx) #从末尾合并
注意:append与extend的区别
append:将列表2xxx作为元素追加到列表1中
a = ["hzq"]
b = [5]
a.append(b)
输出:['hzq', [5]]
extend:将列表2中的元素作为列表1的元素进行合并
a = ["hzq"]
b = [5]
a.extend(b)
输出:['hzq', 5]
list1.insert(index,xxx) #指定index插入元素
list1.remove(xxx) #删除元素,若有相同只能删除从左到右第一个
list1.pop(index) #删除索引位置的元素,若无index默认删除最后一个
del list1[index] #删除index索引的list1元素
list1.clear( ) #清空列表
list1.count(xxx) #计算元素出现次数(注意层级关系)
a = ["hzq"]
print(a.count('h'))
输出:0
list1.index( xxx ) #获取xxx元素的下标
list1.reverse( ) #反转列表
list1.sort( ) #排序,若list1中有字符串或者是数字同时出现,则会报错
补充:列表推导式
[expr for itm in collection if condition] 列表常规推导
list1 = [i for i in range(10) if i%2==0]
print(list1)
#输出:[0, 2, 4, 6, 8]
元组tuple---( , )不可变
与列表相比-不可修改,不可输出,不可添加
tuple1 = (1,2,‘爱老虎油’)
公共的功能:
len(tuple1) #获取元素
tuple1[0] #索引
tuple1[::-1] #切片和步长
字典dict---{}映射类型,可变
dict1 = {'name' : ' 凉介' , 'age' : 21 , ' sdept' : '男' } #键值对
公共的功能:
len(dict1) #获取元素
dict1['name'] #索引,不用下标,利用key值查询
无切片和步长的功能
常用的功能:
dict1.keys( ) #获取所有的健值
dict1.values( ) #获取所有的值
dict1.items() #获取所有的键值对
若想对字典进行添加:dict1['不存在的key'] = 'xxx'
dict1.setdefault(5) #末尾设置一个key为5的键值对,value默认none,返回一个value的值
dict1.setdefault(5,'xxx') #末尾设置一个key为5,value为xxx的键值对,返回一个value的值
dict1.update(5,'李白') #更新key为5的value=‘李白’
dict1.pop(key) #删除健值里的数据返回value的值
dict1.popitem( ) #删除末尾的键值对并且返回key和value的元组
dict1.clear( ) #清除字典
补充:字典推导式
{key: value for (key, value) in iterable}字典推导
dict1 ={i:i*2 for i in range(10) if i%2==0}
print(dict1)
#输出:{0: 0, 2: 4, 4: 8, 6: 12, 8: 16}
集合set---{}无序无索引,不可嵌套,可变
注意:set1 = {} #这样子是声明一个dict类型
set1 = set( ) #声明一个空集合
set1.add(xxx) #添加一个xxx元素
set1.pop( ) #随机删除一个元素
set1.remove(xxx) #删除值为xxx的元素
set1.update(xxx) #更新一个xxx的集合
注意:add是添加一个元素,update是添加一个集合跟list中的extend类似
set2 = frozenset([1,2,3,4,5]) #可用frozenset创建一个不可变集合
小练习:华为测试岗笔试题
统计一个字符串中单词的个数:
函数解析:
对字符串以空格进行分割,创建一个字典类型变量dicts用于存放数据;
对分割后的字符串(返回的列表)进行for循环,传入dicts中(字典添加元素格式:dicts[key] = value)
如果不在字典里的(未重复)则设置value = 1,若已经在字典里的,则value += 1
接上:选出个数最多的单词:
函数解析:
将上题统计好的dicts字典传入,声明一个dictMax空字典用于存放出现次数最多的单词
通过list(dicts.values())取得dicts的values
然后通过一个循环算出出现次数最多为maxvalues次
再通过一个循环把字典中value跟maxvalues相同的元素添加到dictMax空字典中
Python入门基础学习(列表/元组/字典/集合)的更多相关文章
- python的学习笔记01_4基础数据类型列表 元组 字典 集合 其他其他(for,enumerate,range)
列表 定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素 特性: 1.可存放多个值 2.可修改指定索引位置对应的值,可变 3.按照从左到右的顺序定义列表元素,下标从0开始顺序访问 ...
- python中列表 元组 字典 集合的区别
列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...
- **python中列表 元组 字典 集合
列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. 1.列表 列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔. 列表的特 ...
- python3笔记十八:python列表元组字典集合文件操作
一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle #数据持久性模块 #封装的方法def OptionData(data,path): # ...
- Python入门基础学习 三
Python入门基础学习 三 数据类型 Python区分整型和浮点型依靠的是小数点,有小数点就是浮点型. e记法:e就是10的意思,是一种科学的计数法,15000=1.5e4 布尔类型是一种特殊的整形 ...
- Python入门基础学习 二
Python入门基础学习 二 猜数字小游戏进阶版 修改建议: 猜错的时候程序可以给出提示,告诉用户猜测的数字偏大还是偏小: 没运行一次程序只能猜测一次,应该提供多次机会给用户猜测: 每次运行程序,答案 ...
- Python入门基础学习 一
Python入门基础学习 一 Python下载及安装 下载地址:https://www.python.org/,选择最新的版本下载 稍等一会,安装完成. 简单语句 从idle启动Python:IDLE ...
- python_列表——元组——字典——集合
列表——元组——字典——集合: 列表: # 一:基本使用# 1.用途:存放多个值 # 定义方式:[]内以逗号为分隔多个元素,列表内元素无类型限制# l=['a','b','c'] #l=list([' ...
- python 中列表 元组 字典 集合的区别
先看图片解释 (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计过去一周我们买过的东西,把这些东西列出来,就是清单.由于我们买一种东西可能不止一次,所以清单中是允许有重复 ...
随机推荐
- QT解决中文乱码
如果编译器在支持C++11的情况下,我们可以使用u8"XXXX" 如:QString str = u8"我是中文"; 这样就解决了中文乱码的问题,使用UTF-8 ...
- 详解 DNS 与 CoreDNS 的实现原理
域名系统(Domain Name System)是整个互联网的电话簿,它能够将可被人理解的域名翻译成可被机器理解 IP 地址,使得互联网的使用者不再需要直接接触很难阅读和理解的 IP 地址. http ...
- FLUME NG的基本架构
Flume简介 Flume 是一个cloudera提供的 高可用高可靠,分布式的海量日志收集聚合传输系统.原名是 Flume OG (original generation),但随着 FLume 功能 ...
- 使用 vs code 创建 Django 项目
操作流程: 1.前期准备工作 2.vs code配置Python环境 3.新建 Django 项目 4.vs code 配置 Debug Django 环境 5.浏览器查看效果 1.前期准备工作 安装 ...
- goroutine并发之callback回调
玩玩 package main import ( "fmt" "strings" "sync" ) var wait sync.WaitGr ...
- 201871010113-刘兴瑞《面向对象程序设计(java)》第十四周学习总结
项目 内容 这个作业属于哪个课程 <任课教师博客主页链接>https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 <作业链接地址>http ...
- alipay sign error
阴影部分地址参数有问题: <PAY_COMPLETE_PAGE_URL><![CDATA[https://baoxian.itaiping.com/ae-console/remote ...
- CF1263F Economic Difficulties(DP)
拿小号打了这场,然而做到这里时少看了条件,最后 10min 才发现,没有 AK,身败名裂-- 赛后看就是 sb 题-- (好像这题也不值 2500 吧?) 首先注意到一条很重要的条件:对于每棵树,都存 ...
- java类生命周期,类的“加载,连接,初始化,使用,卸载过程”详解
“ 如果说核心类库的 API 比做数学公式的话,那么 Java 虚拟机的知识就好比公式的推导过程” 每本Java入门书籍在介绍Java这门语言的时候都会提到Java跨平台,“一次解释,到处运行的特点“ ...
- 从游击队到正规军(二):马蜂窝旅游网的IM客户端架构演进和实践总结
一.引言 移动互联网技术改变了旅游的世界,这个领域过去沉重的信息分销成本被大大降低.用户与服务供应商之间.用户与用户之间的沟通路径逐渐打通,沟通的场景也在不断扩展.这促使所有的移动应用开发者都要从用户 ...