1、字典表dict

  • 声明

    • {键: 值,...}
    • dict(键=值)
d = {'isbn':'13123','title':'python入门'}  #字典表中的键不能使用诸如列表这种可以改变的,只能使用其他字符串或者元组等
d['title'] # 列表list[]可以改变其中的元素,但是不能赋新元素给列表
'python入门'
  • 操作

    • 获取:d['键']、 d.get('键', 默认值)
d['author'] #直接查询表中元素,若是不存在的话就会有报错信息
d.get('author') # 使用get方法,如果不存在的话就不会出现报错信息
d.get('author', 0.0) #规定不存在的报错内容
KeyError: 'author'
0.0
- 合并:d.update(d2)
emp = dict(name = 'Mike', age = 20, job = 'dev') #创建字典表的一种方式
dep = {'department':'技术部'} #使用update来添加字典表
emp.update(dep)
emp
{'name': 'Mike', 'age': 20, 'job': 'dev', 'department': '技术部'}
  • 属性

    • keys()
    • values()
    • items()
emp.keys() #查看键
emp.values() #查看值
emp.items()
dict_keys(['name', 'job', 'department'])
dict_values(['Mike', 'dev', '技术部'])
dict_items([('name', 'Mike'), ('job', 'dev'), ('department', '技术部')])
  • 排序键

    • 将keys()放入列表
    • 使用全局函数sorted()
ks = d.keys()
ks.sort() #不能直接排序,会报错

报错信息如下:

AttributeError: 'dict_keys' object has no attribute 'sort'

第一种:

ks = list(d.keys())
ks.sort()
ks
for k in ks:
print(d.get(k))
['a', 'b', 'c', 'd']
1
2
3
4

第二种:

ks = d.keys()
for k in sorted(ks):
print(k, d.get(k))
a 1
b 2
c 3
d 4

2、元组tuple

  • 特征

    • 任意对象有序集合
    • 通过下标访问
    • 属“不可变”类型
    • 长度固定,任意类型,任意嵌套
  • 声明
    • (元素,)
(1,2) + (3,4)
1,2 #赋值
(1, 2, 3, 4)
(1, 2)
x = (40) #只有单个元素,赋值后是整数,非元组
type(x)
x = (40,) 使用这两种方式
type(x)
x = 40,
type(x)
int
tuple
tuple
- **index(val):查找索引**
- **count(val):统计数量**
- **namedtuple**
from collections import namedtuple
Employee = namedtuple('Employee', ['name', 'age','department','salary'])
jerry = Employee('Jerry',age = 30, department = '财务部', salary = 9000.0)
jerry.name
jerry.salary
'Jerry'
9000.0

文件与类型汇总

  • 基本语法

    • file = open('文件名',mode)
    • mode:'r', 'b', 'w', 'a'
myfile = open('hello.txt', 'w') #创建文件
myfile.write('优品\n') #创建文本内容,并返回字符数量
myfile.close() #关闭文件
3
  • 操作

    1.read()
f = open('hello.txt', 'r')#默认是r模式,可以不写
f.read()
f.read()
第一次结果:'优品\nHello world!\n'
第二次输出:'' #连续操作两次,内容不一样

2.readline()

f = open('hello.txt')#默认是r模式,可以不写
f.readline() #一次读取一行
f.readline()
'优品\n'
'Hello world!\n'

3.readlines()

l = open('hello.txt').readlines()
for line in l:
print(line)
优品
Hello world!

4.close()

f = open('course.txt','w', encoding = 'utf8')
f.write('优品\nHello world!\n')
f.write('www.codeclassroom.com')
f.close()
16
21
  • 其他操作
f = open('datafile.txt','w')
x,y,z = 1,2,3
f.write('{},{},{}'.format(x,y,z))
l =[1,2,3]
f.write(str(l))
f.close()
5
9
  • pickle存取Python对象

    • dump(对象,目标文件)
d = {'a':1,'b':2}
f = open('datafile.pkl', 'wb')
import pickle
pickle.dump(d,f) #把字典表d放到文件f里面
f.close()
open('datafile.pkl','rb').read()
b'\x80\x03}q\x00(X\x01\x00\x00\x00aq\x01K\x01X\x01\x00\x00\x00bq\x02K\x02u.'
- load(文件)
f = open('datafile.pkl', 'rb')
data = pickle.load(f)
data
{'a': 1, 'b': 2}
  • with方法加载文件
with open('course.txt') as f: #结束后会自动释放资源
for line in f.readlines():
print(line)
浼樺搧
Hello world!
www.codeclassroom.com

4、汇总

1.集合

  • 序列

    • 可变:list
    • 不可变:字符串str、元组tuple、字节数组
  • 映射

    • 字典表dict
  • 集合

    • set

      2.数字

    • 整型:int、boolean

    • 浮点型:float、Decimal、...

      3.可调用

  • 函数 function

  • 生成器 Generator

  • 类 class

  • 方法

    3.其他

  • 文件

  • 视图

  • None

    3.内部

  • type

第三天:字典表dict、元组tuple、文件与类型汇总的更多相关文章

  1. 【Learning Python】【第三章】表、元组、字典和集合

    表 表提供了类似数组的数据结构,它是可变的,可以增删改查 增: insert(下标,值),如果下标 > 表的长度,则插入到末尾:若 < 表头的下标,则插入到第一个 append / += ...

  2. python学习笔记(三)字典操作和元组操作

    字典: 字典也是我们开发过程中最常用的一种数据类型:具有极快的查找速度:字典是一种key-value的数据类型,比如说要存每个人的信息,那么每个人的编号就是key,value就是每个人的信息,这样的话 ...

  3. 元组Tuple、数组Array、映射Map

    一.元组Tuple 元组Tuple是不同类型的值的聚集,元组的值将单个的值包含在圆括号中来构成,元组可以包含一个不同类型的元素 如 val riple = (100, "Scala" ...

  4. BBS - 表、登录、文件上传、注册

    一.博客系统得表关系 models.py from django.db import models from django.contrib.auth.models import AbstractUse ...

  5. python中的字典(dict),列表(list),元组(tuple)

    一,List:列表 python内置的一种数据类型是列表:list.list是一种有序的数据集合,可以随意的添加和删除其中的数据.比如列出班里所有的同学的名字,列出所有工厂员工的工号等都是可以用到列表 ...

  6. python3基础: 元组tuple、 列表list、 字典dict、集合set。 迭代器、生成器

    一.元组: tuple Python 的元组与列表类似,不同之处在于元组的元素不能修改. 元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组 tup2 = (111, 22, 33, ...

  7. python-day3 元组(tuple),列表(list),字典(dict)

    1.元组 tuple 有序数据,元组数据不可更改,若元组中有列表,可更改元组中的列表值里的值 元组中以","分开,若只有一个值就不是元组 包含各种数据类型 索引取值:t(2,0.0 ...

  8. 27.Python列表(list)、元组(tuple)、字典(dict)和集合(set)详解

    本章将会介绍 Python 内置的四种常用数据结构:列表(list).元组(tuple).字典(dict)以及集合(set). 这四种数据结构一但都可用于保存多个数据项,这对于编程而言是非常重要的,因 ...

  9. python3基础: 元组tuple、 列表list、 字典dict、集合set。 迭代器、生成器

    一.元组: tuple Python 的元组与列表类似,不同之处在于元组的元素不能修改. 元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组 tup2 = (111, 22, 33, ...

随机推荐

  1. elasticsearch5.5.2安装

     elasticsearch5.x安装中一些问题的解决办法 最近在学习elk,由于编译安装使用5.2.1版本的elasticsearch,所以遇到了很多问题,下面是一些问题及解决办法. 1.修改访问e ...

  2. postgresql修改自增序列

    ----删除前先解除 id 对该序列的依赖ALTER TABLE tablename ALTER COLUMN id SET DEFAULT null;DROP SEQUENCE IF EXISTS ...

  3. FastJson乱序问题

    1.初始化为有序json对象 JSONObject jsonOrdered= new JSONObject(true); 2.将String对象转换过程中,不要调整顺序 JSONObject json ...

  4. elasticsearch中TermQuery查不到数据问题

    在java rest client中调用elasticsearch中的数据,精准匹配的termQuery查不到数据,这个问题是java rest client客户端自带的bug,换用matchPhra ...

  5. PAT_A1091#Acute Stroke

    Source: PAT A1091 Acute Stroke (30 分) Description: One important factor to identify acute stroke (急性 ...

  6. Codeforces 1191B Tokitsukaze and Mahjong

    题目链接:http://codeforces.com/problemset/problem/1191/B 题意:类似于麻将,三个一样花色一样数字的,或者三个同花顺就赢了,新抽的能当任何类型,问至少几个 ...

  7. 牛客练习赛51 B 子串查询 https://ac.nowcoder.com/acm/contest/1083/B

    题目描述 给出一个长度为n的字符串s和q个查询.对于每一个查询,会输入一个字符串t,你需要判断这个字符串t是不是s的子串.子串的定义就是存在任意下标a<b<c<d<e,那么”s ...

  8. 34-Ubuntu-用户权限-05-超级用户

    超级用户 Linux系统中的root(超级用户)账号通常用于系统的维护和管理,对操作系统的所有资源具有访问的权限. 在大多数的Linux版本中,都不推荐直接使用root账号登录系统. 在Linux安装 ...

  9. ArcGis基础—shapefile矢量文件与lyr图层文件之间有何区别?

    shapefile (.shp) 是一种矢量数据存储格式,用于存储地理要素的位置.形状和属性. shapefile 存储在一组相关文件中,并包含一个要素类. 图层文件 (.lyr) 是存储源数据集路径 ...

  10. 2018年初面试Java(1.5年经验)

    xml文档如何解析 控制反转如何实现 http://www.cnblogs.com/qf123/p/8602972.html struts2和springmvc的区别 http://www.cnblo ...