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入门基础学习(列表/元组/字典/集合)的更多相关文章

  1. python的学习笔记01_4基础数据类型列表 元组 字典 集合 其他其他(for,enumerate,range)

    列表 定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素 特性: 1.可存放多个值 2.可修改指定索引位置对应的值,可变 3.按照从左到右的顺序定义列表元素,下标从0开始顺序访问 ...

  2. python中列表 元组 字典 集合的区别

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...

  3. **python中列表 元组 字典 集合

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. 1.列表 列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔. 列表的特 ...

  4. python3笔记十八:python列表元组字典集合文件操作

    一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle  #数据持久性模块 #封装的方法def OptionData(data,path):    # ...

  5. Python入门基础学习 三

    Python入门基础学习 三 数据类型 Python区分整型和浮点型依靠的是小数点,有小数点就是浮点型. e记法:e就是10的意思,是一种科学的计数法,15000=1.5e4 布尔类型是一种特殊的整形 ...

  6. Python入门基础学习 二

    Python入门基础学习 二 猜数字小游戏进阶版 修改建议: 猜错的时候程序可以给出提示,告诉用户猜测的数字偏大还是偏小: 没运行一次程序只能猜测一次,应该提供多次机会给用户猜测: 每次运行程序,答案 ...

  7. Python入门基础学习 一

    Python入门基础学习 一 Python下载及安装 下载地址:https://www.python.org/,选择最新的版本下载 稍等一会,安装完成. 简单语句 从idle启动Python:IDLE ...

  8. python_列表——元组——字典——集合

    列表——元组——字典——集合: 列表: # 一:基本使用# 1.用途:存放多个值 # 定义方式:[]内以逗号为分隔多个元素,列表内元素无类型限制# l=['a','b','c'] #l=list([' ...

  9. python 中列表 元组 字典 集合的区别

    先看图片解释 (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计过去一周我们买过的东西,把这些东西列出来,就是清单.由于我们买一种东西可能不止一次,所以清单中是允许有重复 ...

随机推荐

  1. python监控cpu 硬盘 内存

    import psutil import time import yagmail def sendmail(subject,contents): yag = yagmail.SMTP(user='15 ...

  2. linux 命令cp -a的用法

    cp -a 保留原文件属性的前提下复制文件 cp -r dirname(源文件) destdi(目标文件) 复制目录后其文件属性会发生变化想要使得复制之后的目录和原目录完全一样包括文件权限,可以使用c ...

  3. 一个EMFILE问题定位:lsof、ulimit的应用,以及简单分析

    关键词:errno.EMFILE.ulimit.lsof等等. 背景是在对程序进行压力测试,运行了一段时间之后出现一个复位操作失败. 这个复位操作通过打开一个设备,进行读写操作,已达到控制GPIO输入 ...

  4. Linux 内核虚拟地址到物理地址转换讨论【转】

    转自:https://blog.csdn.net/sunlei0625/article/details/59476987 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请 ...

  5. 201871010116-祁英红《面向对象程序设计(java)》第十周学习总结

    博文正文开头格式:(2分) 项目 内容 <面向对象程序设计(java)> https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://ww ...

  6. Java之Random类

    什么是Random类 此类的实例用于生成伪随机数,使用此类中的方法能够得到一个随机数. Random使用步骤 查看类 java.util.Random :该类需要 import导入使后使用. 查看构造 ...

  7. rowKey原则

    rowKey设计原则 1.长度原则 最大值为64KB, 长度在10 ~ 100byte ; 最好是 8 的倍数,太长会影响性能: 2.唯一原则 具有唯一性: 3.散列原则 1).盐值散列:不能使用时间 ...

  8. JavaWeb 增删改查功能

    1.今天来写一个简单的增删改查功能,这个项目还是接着在昨天写的 --JavaWeb实现简单登录注册-- 来写的. 登录成功进来后对学生信息的增删改查 2.项目文件为: 3.好了,直接贴上今天新写的代码 ...

  9. 80%应聘者都不及格的JS面试题

    共 5024 字,读完需 6 分钟,速读需 2 分钟,本文首发于知乎专栏前端周刊.写在前面,笔者在做面试官这 2 年多的时间内,面试了数百个前端工程师,惊讶的发现,超过 80% 的候选人对下面这道题的 ...

  10. es6一句话拾遗

    Symbol最大的作用就是用于消除魔术字符串: Set跟数组的最大区别,就是Set的成员都是唯一的,没有重复:(方法:add(value),has,delete,clear) Map跟对象的最大区别, ...