Python基础学习三 字典、元组
一、元组
元组,提示别人,这个值是不能被改变的,元组的定义方式是用(),小括号;
元组只有两个方法,那就是count和index
mysql1 = ('127.0.0.1',3306,'my','root',123456)
mysql2 = ('127.0.0.1',3307,'my','root','root')
print(mysql1.count('my'))#找个数
print(mysql1.index('my'))#返回下标
输出:1 2
print(mysql2.count('root'))#找个数
print(mysql2.index('root'))#返回下标,且为第一个返回值
输出:2 3
#元组也是list,只不过是不可变的
二、字典
特性:
字典是无序的,因为它没有下标,用key来当索引,所以是无序的
字典的key必须是唯一的,因为它是通过key来进行索引的,所以key不能重复,天生就去重
1、查看
d = { 'name':'test001',
'age':18,
'sex':'男',
'addr':'昌平区',
'money':10000000 ,
}
print(d['name'])#如果写了不存在的key,会报错
print(d.get('SDFSDF'))#如果get不到的话,返回None
输出: test001
None
2、增加
d = { 'name':'test001',
'age':18,
'sex':'男',
'addr':'昌平区',
'money':10000000 ,
}
d['height']=198
d.setdefault('weight',130)#字典是无序的
d = {'marry':[18,'北京'],'amy':[20,'山东'],'lily':[25,'河南']}
d['andy']=[22,'河北']#增加
print(d.keys())#获取到字典所有的key
print(d.values())#获取到所有的values
输出:dict_keys(['marry', 'amy', 'lily', 'andy'])
dict_values([[18, '北京'], [20, '山东'], [25, '河南'], [22, '河北']])
3、修改
d = { 'name':'test001',
'age':18,
'sex':'男',
'addr':'昌平区',
'money':10000000 ,
'height':198
}
d['shengao']=200 #如果这个key存在的话,修改他的值,如果key不存在的话,新增一个
print(d.keys())#获取到字典所有的key
print(d.values())#获取到所有的values
4、删除
d = { 'name':'test001',
'age':18,
'sex':'男',
'addr':'昌平区',
'money':10000000 ,
'height':198
}
d.pop('height')#删除某个key
del d['addr']#删除某个key
d.popitem()#随机删除一个(一般删除末尾对)
d.clear()#清空字典
print(d.keys())#获取到字典所有的key
print(d.values())#获取到所有的values
注意:
# res = list(d.items())
# print(res[0])
# for k in d: #性能更好
# print(k,d.get(k))
5、嵌套
stus = {
'user1': {
'age': 18,
'sex': '男',
'addr': '昌平区',
'money': 10000000,
'jinku': {
'建行卡': 80000,
'工商卡': 800000,
'招商卡': 8000000
}
},
'user3': {
'age': 19,
'sex': '女',
'addr': '昌平区',
'money': 10000000,
"bag": {
'lv': 20,
'prada':10
}
},
}
方法一:
a = stus['user3']['bag'].values()
print(a)
print(sum(a))
方法二:
all_money = stus['user1']['jinku'].values()
sum_money = 0
for money in all_money:
sum_money= sum_money+money
print(sum_money)
总结:可变变量 :list、字典;不可变变量:元组、字符串
Python基础学习三 字典、元组的更多相关文章
- Python基础学习三
Python基础学习三 1.列表与元组 len()函数:可以获取列表的元素个数. append()函数:用于在列表的最后添加元素. sort()函数:用于排序元素 insert()函数:用于在指定位置 ...
- Python基础学习 -- 列表与元组
本节学习目的: 掌握数据结构中的列表和元组 应用场景: 编程 = 算法 + 数据结构 数据结构: 通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合,这些元素可以是数字或者字符,或者其他数据 ...
- Python基础学习Day5 字典的增、删、改、查的用法 分别赋值
一.字典的介绍 字典:字典是Python的基础数据类型之一:字典可以存储大量数据,关系型数据. 同样是Python中唯一的映射类数据类型. 数据类型的分类: 可变的数据类 ...
- Python 基础学习之字典
1.基础代码 ##第六章 字典学习 test={'} print(test['a']) print(test['b']) 返回结果为: black123 2.基础知识: Python中的字典是一系列键 ...
- python基础学习笔记——字典
字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 { ...
- python 基础学习4 字典和循环语句
学了这么多天的基础,好着急的想什么时候可以开始写个小程序,今天还是静下心来把字典和循环语句学习了 关于字典,主要是了解了字典的创建,和映射,以及一些基本的运算法,运算法不一一列出,运算法在用到的时候会 ...
- 【Python基础学习三】数字(Number)
Python Number 数据类型用于存储数值. 数据类型是不允许改变的,这就意味着如果改变 Number 数据类型的值,将重新分配内存空间. Python 四种数值类型: 整型(Int) - 通常 ...
- python基础知识三 字典-dict + 菜中菜
3.7字典:dict+菜中菜 1.简介 无序,可修改,用于存储数据,大量,比列表快,将数据和数据之间关联 定义:dict1 = {'cx':10,'liwenhu':80,'zhangyu': ...
- python 基础学习(字典对象,set对象)
1.dict 字典对象 a.定义对象 d={'a':14,'b':12}b.通过key获取value d['a'] 方法1.判断key是否存在 if 'a' in d: d['a']方法2:通过用ge ...
随机推荐
- LeetCode OJ:Best Time to Buy and Sell Stock(股票买卖的最佳时期)
Say you have an array for which the ith element is the price of a given stock on day i. If you were ...
- NODE 性能优化
五个手段 “如果你的 node 服务器前面没有 nginx, 那么你可能做错了.”—Bryan Hughes Node.js 是使用 最流行的语言— JavaScript 构建服务器端应用的领先工具 ...
- 如何复制一个java对象(浅克隆与深度克隆)
在项目中,有时候有一些比较重要的对象经常被当作参数传来传去,和C语言的值传递不同,java语言的传递都是引用传递,在任何一个地方修改了这个对象的值,就会导致这个对象在内存中的值被彻底改变.但是很多时候 ...
- ng 监听数据的变化
$scope.$watch('监听的变量的名称',func) 在angularJs之所以能够实现绑定,是因为angularJS框架在背后为每一个模型数据添加了一个监听,与$watch其实是一个道理. ...
- Developing on Windows Phone 8 Devices
Developing on Windows Phone 8 Deviceshttp://docs.madewithmarmalade.com/native/platformguides/wp8guid ...
- Delphi Xe4 游戏开发的技术选型.
asphyre 是支持 FireMonkey的. 利用Firemonkey的跨平台接口.实现 win,mac,ios. 其它方案估计就得靠 FPC 了. 好处是多了输出Andriod的可能. zeng ...
- 神奇的TextField(1)
先看一大段测试代码,每个小方法的注释行是输出结果. private var text_content:TextField; private function textFieldDemo():void{ ...
- Django之模板继承
为了在Django模板配置中减少代码的冗余,需使用模板继承 1. 语法 {% block classinfo %} {% endblock} 2. 步骤 (1)创建一个base.html把需要显示的页 ...
- 解决direct2d拖拽窗口闪烁
响应WM_ERASEBKGND,在OnEraseBkgnd()处返回FALSE,阻止GDI重绘客户区背景色,设置背景色的工作交给Direct2D在Render时设置,否则在Resize时会出现窗口闪烁 ...
- ACM学习历程—51NOD 1685 第K大区间2(二分 && 树状数组 && 中位数)
http://www.51nod.com/contest/problem.html#!problemId=1685 这是这次BSG白山极客挑战赛的E题. 这题可以二分答案t. 关键在于,对于一个t,如 ...