tuple 元组     dict 字典

更详细参考:https://www.cnblogs.com/jin-xin/articles/7562422.html

#!/usr/bin/env python
# coding:utf-8# Tuple 元组: 只读列表 数据可以被查询,但不能被修改# 列表是有序的,元素可以任意修改、插入、删除,但元组不可以。
tmp1 = []    # 创建空列表 listtmp2 = ()    # 创建空元组 tupletmp3= {}     # 创建空字典 dicttmp4= set()  # 创建空集合 set

print(type(tmp1))print(type(tmp2))print(type(tmp3))print(type(tmp4))
# Tuple的创建取决于逗号,所以一般在元组最后加上逗号, 尤其是只有一个元素时,末尾一定要加逗号 # 元素不可被修改,不能增加、删除 temp1 = 1, print(type(temp1)) 

temp2 = (1, 2, 3, 4, 5, 6,) print(temp2[1]) print(8 * (8)) print(8 * (8,)) 

# 也是可迭代对象 for i in temp2:   print(i) 

# 可转换、切片、索引、 # 元组的一级元素不可修改 tu = (111,"alex",(11,22),[(33,44)],True,66,77,) tu[3][0] = "bbcc" # 这样是修改了一级元素列表里的元素。 print(tu) 

############## 方法 # count 获取指定元素在元组中出现的次数

字典 dict

#!/usr/bin/env python
# coding:utf-8

info = {"k1": "v1","k2": "v2",12: "asdf",True:1000,(11, 22,): 1234,2: ["abc", "defg"],"k3":["哈哈",(),33,44,{'kk1':'vv1','kk2':'vv2','kk3':(11,22),}],"k4":True
}
# 键值对,value可以是任何值  保存的时候按hash表保存
# 列表、字典不能作为字典的Key
# 注意: key 不能重复,重复只会保留一个。
print(info)# 字典是无序的
v = info['k3'][4]['kk3'][0]
print(v)# 删除 修改
del info['k1']
del info['k3'][4]['kk3']# 默认循环key
for item in info:print(item)print('***********************')
# 循环values
for item in info.values():print(item)print("======================")# 循环key value
for k,v in info.items():print(k,v)

#!/usr/bin/env python
# coding:utf-8

dic = {"k1":'v1','k3':'v3','k4':'v4','k5':'v5'}# 根据序列,创建字典,并指定统一的值
v = dict.fromkeys(['k1',123,'999'],888)
print(v)# 如果取不存在的key,就会程序出错。而使用get方法取不存在的key,则会返回None
# u = dic['k2']
# print(u)# u = dic.get('k2','不存在')
# print(u)# 也可以在没找到key时,传个默认值
u = dic.get('k2','不存在')
print(u)# pop 可以指定key来删除,popitem 则是随机删除一个
# w = dic.pop('k3')
# print(w)
# 也可以指定找不到时的返回值
w = dic.pop('k33','no found')
print(w)# 设置值,存在则不设置,并获取存在的值 ;不存在就添加,并获取添加的值
v = dic.setdefault('k1','boy')
print(dic, v)v = dic.setdefault('k11','boy')
print(dic, v)## 更新
dic.update({'k1':'11111','k4':1234})
print(dic)dic.update(k1=44456,k3="啤酒花",k4=True) # **kwargs
print(dic)# 最常用的几个 keys()    values()    items()    get     update

以下是这几种类型的整理:

#!/usr/bin/env python
# coding:utf-8## 一、数字
# int(...)## 二、字符串
# replace /find /join /strip  startswith /split /upper /lower /format
temp = 'I am {name}, age:{age}'
# v = temp.format(name="Tom",age=38)

v = temp.format(**{"name":'alex','age':22})  # **kwargs 就表示可以传字典
print(v)## 三、列表
# append/ extend / insert
# 索引、切片、循环## 四、元组
# 索引、切片、循环
# 一级元素不能被修改## 五、字典
# get /update /keys /values /items
# for 索引

dic = {'k1':'v1'}
v = 'k1' in dic
print(v)w = 'v1' in dic.values()
print(w)## 六、布尔值
# bool(...)
# 记得这些是False就行: None  ""  ()  []  {}  0

字典应用的小例子,用来代替 switch  case

# -----字典映射复杂的switch case----
# switch中,case下面可以写代码块,其实Python的字典也可以.print('请输入您想翻译星期几:')
userinput = input("输入星期几(如星期一):")     #输入 '星期一'
#userinput = raw_input("输入星期几(如星期一):")    # Python2.xdef translateMonday():return 'Monday'def translateTuesday():return 'Tuesday'def translateWednesday():return 'Wednesday'def translateThursday():return 'Thursday'def translateFriday():return 'Friday'def translateSaturday():return 'Saturday'def translateSunday():return 'Sunday'def unknow2():return '请输入正确的信息'# 从这里可以得出,字典的value也可以是函数.
# value的值,直接写函数名
# 这里的key是字符串,value是函数
chineseName = {'星期一': translateMonday,'星期二': translateTuesday,'星期三': translateWednesday,'星期四': translateThursday,'星期五': translateFriday,'星期六': translateSaturday,'星期日': translateSunday
}# 注意这里的第二个参数也必须是一个函数,否则会报错的.
# get()方法后面还有一个(), 是为了执行对应的函数
englishName = chineseName.get(userinput,unknow2)()print(englishName)# 输入信息: 星期一
# 输出结果: Monday
# 扩展了字典中 key和value的知识点,value可以是函数,那么就可以用这样的方法来实现比较复杂的业务逻辑了.
# 完美代替了switch case

另一个列表与字典的例子:统计词频

list1 = ['apple', 'orange', 'pear', 'apple', 'pear', 'apple', 'apple', 'banana']
# 将上方的列表元素,统计词频# 创建空字典
items = {}for i in list1:if i in items:items[i] = items[i] + 1else:items[i] = 1print(items)

更多参考: https://www.cnblogs.com/jin-xin/articles/7562422.html

转载于:https://www.cnblogs.com/frx9527/p/python_07.html

python基础07_tuple_dict相关推荐

  1. f是一个python内部变量类型,Python基础变量类型——List浅析

    Python使用list 一.list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用一个list表示 ...

  2. python 等号报错_Python学习----Python基础

    Python基础 一.数据类型和变量 1.在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量. 例如: a =520# a是整数prin ...

  3. python基础——继承与派生、组合

    python基础--继承与派生 1 什么是继承: 继承是一种创建新的类的方式,在python中,新建的类可以继承自一个或者多个父类,原始类成为基类或超累,新建的类成为派生类或子类 1.1 继承分为:单 ...

  4. Python学习笔记1 Python基础

    第1章 Python基础 1.1 Python概述及版本介绍 1.Python是一种面向对象的解释型计算机程序设计语言(解释型语言源代码->解释器逐行解释每一句源代码) 2.优点:高级语言.可移 ...

  5. python基础---元组、字典、函数、文件、异常

    文章目录 python基础---元组.字典.函数.文件.异常 Tuple(元组) 常用操作 dict(字典) 函数 文件 异常 python基础-元组.字典.函数.文件.异常 Tuple(元组) tu ...

  6. 快速掌握Python的捷径-Python基础前传(1)

    文: jacky(朱元禄) 开文序 最近看新闻,发现高考都考Python了,随着人工智能的火热,学数据科学的人越来越多了!但对于数据行业本身来说,现象级的火热,这并不是什么好事.  方丈高楼平地起,无 ...

  7. Python培训教程之Python基础知识点梳理

    Python语言是入门IT行业比较快速且简单的一门编程语言,学习Python语言不仅有着非常大的发展空间,还可以有一个非常好的工作,下面小编就来给大家分享一篇Python培训教程之Python基础知识 ...

  8. python基础04

    python基础04 python2在编译安装时,可以通过参数 -----enable----unicode=ucs2 或 -----enable--unicode=ucs4 分别用于指定使用2个字节 ...

  9. 刻意练习:Python基础 -- Task12. 模块

    背景 我们准备利用17天时间,将 "Python基础的刻意练习" 分为如下任务: Task01:变量.运算符与数据类型(1day) Task02:条件与循环(1day) Task0 ...

最新文章

  1. 全链路压测自动化实践
  2. SVM+HOG:用初次训练的.xml分类器在负样本原图上检测生成HardExample样本
  3. 图的基本运算及智能交通中的最佳路径选择问题
  4. mysql如果带有换行的处理方式
  5. opengles 顶点数组 android,OpenGLES顶点属性、顶点数组和缓冲区对象
  6. 失落城堡获取服务器信息,《失落城堡》精英服资格获取方法 失落城堡精英服招募...
  7. 2020年研究生入学考试991考试大纲
  8. oracle10g 64位安装包下载地址,Oracle10g下载地址--多平台下的32位和64位
  9. 西南林业大学计算机考研,西南林业大学考研难吗
  10. oracle instr函数 判断字段中是否有换行符
  11. 代码实现自动剪辑视频
  12. 教你win7如何共享打印机的详细教程
  13. 云课堂让职业院校云计算教学更简单
  14. 中国大数据行业发展趋势
  15. 阿里云服务器学生免费领取指南
  16. search engine “DuckDuckGo”
  17. Backstepping反步法控制四旋翼无人机(2)
  18. Word保存高清图片
  19. 基于netty+websocket实现门户游客实时统计功能
  20. 一位原码乘法器 一位补码乘法器原理

热门文章

  1. 区块链学堂(4):以太坊基本概念及工具Geth、Browser-solidity、Mist
  2. es创建索引库,无法使用InetSocketTransportAddress
  3. RSA非对称加密算法之公钥和私钥详细介绍
  4. 模仿探探的左右滑动切换卡片功能
  5. mysql如何处理图片吗_如何解决mysql插入图片后缀名问题?
  6. 蚁群算法,PSO算法以及两种算法可以融合的几种方法
  7. 数学之美系列之一:统计语言模型 (Statistical Language Models)
  8. 腾讯2019暑期实习生提前批CV岗笔试题
  9. java 远程udp_远程客户端不接收UDP数据包
  10. php成绩查询系统的学习心得_PHP学习心得与体会