tuple 元组     dict 字典

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

#!/usr/bin/env python
# coding:utf-8 # Tuple 元组: 只读列表 数据可以被查询,但不能被修改 # 列表是有序的,元素可以任意修改、插入、删除,但元组不可以。
tmp1 = []    # 创建空列表 list
tmp2 = () # 创建空元组 tuple
tmp3= {} # 创建空字典 dict
tmp4= 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,''],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':'','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.x def 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] + 1
else:
items[i] = 1 print(items)

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

python基础07_tuple_dict的更多相关文章

  1. python之最强王者(2)——python基础语法

    背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...

  2. Python开发【第二篇】:Python基础知识

    Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...

  3. Python小白的发展之路之Python基础(一)

    Python基础部分1: 1.Python简介 2.Python 2 or 3,两者的主要区别 3.Python解释器 4.安装Python 5.第一个Python程序 Hello World 6.P ...

  4. Python之路3【第一篇】Python基础

    本节内容 Python简介 Python安装 第一个Python程序 编程语言的分类 Python简介 1.Python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum) ...

  5. 进击的Python【第三章】:Python基础(三)

    Python基础(三) 本章内容 集合的概念与操作 文件的操作 函数的特点与用法 参数与局部变量 return返回值的概念 递归的基本含义 函数式编程介绍 高阶函数的概念 一.集合的概念与操作 集合( ...

  6. 进击的Python【第二章】:Python基础(二)

    Python基础(二) 本章内容 数据类型 数据运算 列表与元组的基本操作 字典的基本操作 字符编码与转码 模块初探 练习:购物车程序 一.数据类型 Python有五个标准的数据类型: Numbers ...

  7. Python之路【第一篇】python基础

    一.python开发 1.开发: 1)高级语言:python .Java .PHP. C#  Go ruby  c++  ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...

  8. python基础之day1

    Python 简介 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. Python为我们提供了非常完善的基础代码库,覆盖了 ...

  9. python基础之文件读写

    python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使用os模块的一些方法如下: 得到 ...

随机推荐

  1. C++引用和const引用、常量指针、指针常量

    1.引用.常量引用 引用主要被用做函数的形式参数--通常将类对象传递给一个函数. 引用在内部存放的是一个对象的地址,它是该对象的别名.引用不占用内存,因为取地址引用的值和被引用变量的地址相同.但是ob ...

  2. Python数据分析Numpy库方法简介(二)

    数据分析图片保存:vg 1.保存图片:plt.savefig(path) 2.图片格式:jpg,png,svg(建议使用,不失真) 3.数据存储格式: excle,csv csv介绍 csv就是用逗号 ...

  3. C++反射实现(转)

    参考了wxWidgets的相关代码,并进行简化,同时借鉴了网上的相关内容,改进之处在于,只需要继承基本类Object,在类的头文件中定义宏,DECLARE_CLASS(类名),在类的实现文件中定义宏, ...

  4. nginx-负载均衡相关配置 第五章

    一.负载均衡: 通过反向代理客户端的请求到一个服务器群组,通过某种算法,将客户端的请求按照自定义的有规律的一种调度调度给后端服务器. Nginx的负载均衡使用upstream定义服务器组,后面跟着组名 ...

  5. Bugku-CTF之你必须让他停下+头等舱

    Day8 你必须让他停下 地址:http://123.206.87.240:8002/web12/     访问之后发现:  

  6. kindeditor4.1.11的使用方法

    在引入某个外部框架/功能件的 时候, 通常是 先引入css, 后引入js. css的必要属性是rel和href, js的必要属性是charset和src. js都是用javascript的,所以 cs ...

  7. [shell]输出内容到剪切板

    commandline和GUI下的clipboard的交互Mac下echo $PATH | pbcopy,copy to clipboardecho "$(pbpaste -Prefer t ...

  8. 由 UWP 版网易云音乐闪退引发的博文

    今天,不知怎么的.网易云音乐出现了一打开就闪退的情况.百度了好些时候未果,就直接 Windows + i 打开 Windows 设置 > 应用 在应用和功能列表中找到网易云音乐,在展开的 高级选 ...

  9. MapReduce编程:平均成绩

    问题描述 现在有三个文件分别代表学生的各科成绩,编程求各位同学的平均成绩.                     编程思想 map函数将姓名作为key,成绩作为value输出,reduce根据key ...

  10. variable 'o' used without having been completely initialized Compiling Vertex program

    variable 'o' used without having been completely initialized Compiling Vertex program   v2f vert (ap ...