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 基本数据类型之字典的更多相关文章

  1. Python基础数据类型之字典

      基础数据类型之字典 ps:数据类型划分:可变数据类型和不可变数据类型. 不可变数据类型:元组(tupe).布尔值(bool).整数型(int).字符串(str).不可变数据类型也称为可哈希. 可变 ...

  2. python基本数据类型之字典

    python基本数据类型之字典 python中的字典是以键(key)值(value)对的形式储存数据,基本形式如下: d = {'Bart': 95, 'Michael': 34, 'Lisa': 5 ...

  3. python基础一数据类型之字典

    摘要: python基础一数据类型之一字典,这篇主要讲字典. 1,定义字典 2,字典的基础知识 3,字典的方法 1,定义字典 1,定义1个空字典 dict1 = {} 2,定义字典 dict1 = d ...

  4. Python3基础之数据类型(字典)

    Python3数据类型之 字典 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({} ...

  5. Python数据类型-6 字典

    字典 Python的字典数据类型是基于hash散列算法实现的,采用键值对(key:value)的形式,根据key的值计算value的地址,具有非常快的查取和插入速度.但它是无序的,包含的元素个数不限, ...

  6. python数据类型:字典Dictionary

    python数据类型:字典Dictionary 字典是一种可变容器模型,可以存储任意类型对象 键是唯一的,但是值不需要唯一 值可以取任何数据类型,但是键必须是不可变的,如字符串,数字,元组 创建字典: ...

  7. python基础数据类型--dict 字典

    字典 字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必 ...

  8. Python开发——数据类型【字典】

    字典的定义 # Python语言中唯一的类型映射 # 键与值之间用“:”分开 # 项与项之间用“,”分开 person = {"name":"yuan",&qu ...

  9. 7-Python3从入门到实战—基础之数据类型(字典-Dictionary)

    Python从入门到实战系列--目录 字典的定义 字典是另一种可变容器模型,且可存储任意类型对象:使用键-值(key-value)存储,具有极快的查找速度: 字典的每个键值(key=>value ...

随机推荐

  1. JAVA笔记1__基本数据类型/输入输出/随机数/数组

    /**八种基本数据类型 boolean byte short int long char float double */ public class test1{ public static void ...

  2. 并发编程从零开始(十四)-Executors工具类

    并发编程从零开始(十四)-Executors工具类 12 Executors工具类 concurrent包提供了Executors工具类,利用它可以创建各种不同类型的线程池 12.1 四种对比 单线程 ...

  3. 20191310Lee_yellow缓冲区溢出实验

    缓冲区溢出实验 1.什么是缓冲区溢出 ​ 缓冲区溢出是指程序试图向缓冲区写入超出预分配固定长度数据的情况.这一漏洞可以被恶意用户利用来改变程序的流控制,甚至执行代码的任意片段.这一漏洞的出现是由于数据 ...

  4. 精心整理Java微服务最全面试题集(含答案)

    微服务架构相关 大型网站架构演变过程 网站架构演变演变过程 传统架构 → 分布式架构 → SOA架构 → 微服务架构 什么是分布式架构 分布式架构就是将传统结构按照模块进行拆分,不同的人负责不同的模块 ...

  5. Python3使用Print输出彩色字体

    一.介绍 在一些开发程序中,有些输出消息需要突出显示,我们可以尝试着给他们换上更靓丽的颜色来突出显示. 二.实现过程 终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关. ...

  6. Notepad++ 过滤注释行和空行

    Notepad++ 删除指定字符开头的行的正则表达式 1.删除A之后的所有字符用:A.*$ 2.删除A之前的所有字符用:^([^s]*)A ####如果是其他字符就把A替换为其他字符 注释:如何是特殊 ...

  7. Qt 信号与槽的自动关联机制

    前言 对于一些简单的事件判别,如点击按钮.无需写代码关联信号和槽函数. connect(ui->Btnshowhello,SIGNAL(clicked(bool)),this,SLOT(Btns ...

  8. elasticsearch中query_string的隐藏坑

    elasticsearch查询中使用filter查询添加query_string格式为: {                    "query_string": {       ...

  9. [spojSUBLEX]Lexicographical Substring Search

    建立后缀自动机,对于同一个节点,出现次数是相同的(right的大小),同时满足单调性(长度越长出现次数越少),所以只需要考虑最长的串即可. PS:似乎也并不需要求依次后缀的max,不知道为什么-- 1 ...

  10. [bzoj1483]梦幻布丁

    对于每一个颜色用一个链表存储,并记录下:1.当前某种颜色的真实颜色:2.这种颜色的数量(用于启发式合并的判断):3.当前答案(即有几段),然后对于每一个操作简单处理一下就行了. 1 #include& ...