day8 基本数据类型之字典
day8 基本数据类型之字典
一、字典(dict)
1.用途:
2.定义方式:在{}内用逗号分隔开多个元素,每个元素都是key:value的形式,其中value可以使任意类型,而key必须是不可变类型,通常是字符串类型
dic数据类型转换:
dic = dict([('name','egon'),('age',18)])
print(dic) # 转为字典
输出结果:{'name': 'meng', 'age': 18}
dic = dict(name='meng',age=18,gender='male')
print(dic)
输出结果:{'name': 'meng', 'age': 18, 'gender': 'male'}
3.常用操作+内置的方法
1)、按key存取值:可存可取
dic = {'name':'meng','age':18}
dic['gender'] = 'male' # 可以加入字典里
print(dic['name']) # 按照key值取
输出结果:meng
2)、长度
dic = {'name':'meng','age':18}
print(len(dic)) # 求取字典的长度
输出结果:2
3)、成员运算in和not in
dic = {'name':'meng','age':18}
print('name' in dic)
4)、删除
dic = {'name':'meng','age':18}
del dic['name'] # 删除
print(dic)
输出结果:{'age': 18}
5)、循环
dic = {'name':'meng','age':18}
for i,z in dic.items():
print(i,z)
练习:
nums = [11, 22, 33, 44, 55, 66, 77, 88, 99, 90]
dic = {'k1':[],'k2':[]}
for num in nums:
if num > 66:
dic['k2'].append(num)
else:
dic['k1'].append(num)
print(dic)
# 总结:字典可以存多个值,是无序的,是可变的。
二、集合类型
1.用途
1)关系运算
2)去重
names = ['egon','tom','jack','egon','egon','egon']
s = set(names)
print(list(s))
2、定义方式:在{}内用逗号分隔开多个元素,集合元素的特点如下
1、集合内元素不能重复
2、集合内的元素必须是不可变类型
3、集合内的元素无序
s = {111,33.333,(1,2,3),111,111,111,111} # s=set(...)
print(s)
1)、set数据类型转换
print(set('hello'))
print(set([(1,2,3),[1,2,3,4,5],(1,2,3)]))
3、常用操作+内置的方法
优先掌握的操作:
1)、长度len
s = {1,2,3}
print(len(s))
2)、成员运算in和not in
s = {1,2,3}
print(1 in s)
pythons = {'张三', '李四', '王五', '刘6', 'egon', 'lili', '李建国'}
linuxs = {'铁蛋', '铜蛋', '钢弹', 'egon', '狗蛋', 'lili'}
3、|合集: 求所有的同学姓名
print(pythons | linuxs)
print(pythons.union(linuxs))
4、&交集: 同时报名两门课程的同学
print(pythons & linuxs)
print(pythons.intersection(linuxs))
pythons = pythons & linuxs
pythons.intersection_update(linuxs)
5、-差集: 求只报名了python课程的同学
print(pythons - linuxs)
print(pythons.difference(linuxs))
pythons.difference_update(linuxs)
print(linuxs - pythons)
6、^对称差集: 求没有同时报名两门课程的同学
s = (pythons - linuxs) | (linuxs - pythons)
s = pythons ^ linuxs
print(s)
s = pythons.symmetric_difference(linuxs)
print(s)
7、==
s1 = {1,2,3}
s2 = {3,1,2}
print(s1 == s2)
8、父集:>=,子集:<=
s1 = {1,2,3}
s2 = {1,2}
s2 = {1,2,4}
print(s1 >= s2)
print(s1.issuperset(s2))
print(s2 <= s1)
print(s2.issubset(s1))
三、文件处理
"""
1 什么是文件
文件是操作系统提供给应用程序或者说用户的一种操作硬盘功能
应用程序----------》
操作系统---------》文件
计算机硬件-------》硬盘
2 为何要处理文件
为了操作硬盘
3 如何处理文件
"""
f = open(r'a.txt',mode='rt',encoding='utf-8') # 打开文件
data = f.read() # 读取文件
print(data)
for line in f:
print(line)
user,pwd = line.strip('\n').split(':')
print(user,pwd)
f.close() # 关闭文件
print(f)
f.read()
day8 基本数据类型之字典的更多相关文章
- Python基础数据类型之字典
基础数据类型之字典 ps:数据类型划分:可变数据类型和不可变数据类型. 不可变数据类型:元组(tupe).布尔值(bool).整数型(int).字符串(str).不可变数据类型也称为可哈希. 可变 ...
- python基本数据类型之字典
python基本数据类型之字典 python中的字典是以键(key)值(value)对的形式储存数据,基本形式如下: d = {'Bart': 95, 'Michael': 34, 'Lisa': 5 ...
- python基础一数据类型之字典
摘要: python基础一数据类型之一字典,这篇主要讲字典. 1,定义字典 2,字典的基础知识 3,字典的方法 1,定义字典 1,定义1个空字典 dict1 = {} 2,定义字典 dict1 = d ...
- Python3基础之数据类型(字典)
Python3数据类型之 字典 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({} ...
- Python数据类型-6 字典
字典 Python的字典数据类型是基于hash散列算法实现的,采用键值对(key:value)的形式,根据key的值计算value的地址,具有非常快的查取和插入速度.但它是无序的,包含的元素个数不限, ...
- python数据类型:字典Dictionary
python数据类型:字典Dictionary 字典是一种可变容器模型,可以存储任意类型对象 键是唯一的,但是值不需要唯一 值可以取任何数据类型,但是键必须是不可变的,如字符串,数字,元组 创建字典: ...
- python基础数据类型--dict 字典
字典 字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必 ...
- Python开发——数据类型【字典】
字典的定义 # Python语言中唯一的类型映射 # 键与值之间用“:”分开 # 项与项之间用“,”分开 person = {"name":"yuan",&qu ...
- 7-Python3从入门到实战—基础之数据类型(字典-Dictionary)
Python从入门到实战系列--目录 字典的定义 字典是另一种可变容器模型,且可存储任意类型对象:使用键-值(key-value)存储,具有极快的查找速度: 字典的每个键值(key=>value ...
随机推荐
- Kill杀死Linux中的defunct进程(僵尸进程)
一.什么是defunct进程(僵尸进程)? 在 Linux 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他,那么他将变成一个僵尸进程.当用ps命令观察进程的执行状 ...
- AtCoder Beginner Contest 215 F题题解
F - Dist Max 2 什么时候我才能突破\(F\)题的大关... 算了,不说了,看题. 简化题意:给定\(n\)个点的坐标,定义没两个点的距离为\(min(|x_i-x_j|,|y_i-y_j ...
- 理解ASP.NET Core - 文件服务器(File Server)
注:本文隶属于<理解ASP.NET Core>系列文章,请查看置顶博客或点击此处查看全文目录 提供静态文件 静态文件默认存放在 Web根目录(Web Root) 中,路径为 项目根目录(C ...
- 编译安装与gcc编译器
先说一下gcc编译器,只知道这是一个老款的编译器.编译的目的也比较重要,就是将c语言的代码编译成可以执行的binary文件. gcc 简单使用(后期补充) eg: gcc example.c # ...
- Redis去重方法
目录 1.基于 set 2.基于 bit 3.基于 HyperLogLog 4. 基于bloomfilter 这篇文章主要介绍了Redis实现唯一计数的3种方法分享,本文讲解了基于SET.基于 bit ...
- matlab与python scipy.signal中 freqs freqz 中w,什么时候是角频率,什么时候是真实的工程中使用的采样频率Hz,如何转化
matlab与python scipy.signal中的freqs,freqz频率分析函数,输出的w,有时候是角频率,有时候是真实频率,容易搞混,这里对比一下. 0. 精要总结: 1) freqs: ...
- AsExpandable EF多条件查询
我个人学习新技术有一个方法,如果遇到问题会根据以前的经验来寻找一些类似的解决方法.有人会说,如果这个问题在你的学习或者工作生涯中都没有遇到过呢?很简单,通过搜索资料或查阅相关书籍学习别人的经验. 在如 ...
- 『学了就忘』Linux软件包管理 — 48、给源码包打补丁
目录 1.补丁的生成 2.补丁的打入 在以前的软件源码包,需要打补丁的时候比较多.现在的源码包很少进行打补丁了,因为根据需求安装不同的版本即可,比较商业化了.(也就是知道如何给源码包打补丁就可以了,了 ...
- 单元测试NUnit,mock组件NSubstitute,信号量SemaphoreSlim,异步lock等例子
public class LockTest { private IDatabase _database; private readonly Random _random = new Random(); ...
- 二、JAVA API实现HDFS
目录 前文 hdfsdemo通过HDFS上传下载文件 windows环境下需要使用uitls.exe 为pom.xml增加依赖 新建java文件HDFS_CRUD GitHub下载地址 前文 一.Ce ...