一、元组

元组,提示别人,这个值是不能被改变的,元组的定义方式是用(),小括号;

元组只有两个方法,那就是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基础学习三 字典、元组的更多相关文章

  1. Python基础学习三

    Python基础学习三 1.列表与元组 len()函数:可以获取列表的元素个数. append()函数:用于在列表的最后添加元素. sort()函数:用于排序元素 insert()函数:用于在指定位置 ...

  2. Python基础学习 -- 列表与元组

    本节学习目的: 掌握数据结构中的列表和元组 应用场景: 编程 = 算法 + 数据结构 数据结构: 通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合,这些元素可以是数字或者字符,或者其他数据 ...

  3. Python基础学习Day5 字典的增、删、改、查的用法 分别赋值

    一.字典的介绍 字典:字典是Python的基础数据类型之一:字典可以存储大量数据,关系型数据. 同样是Python中唯一的映射类数据类型.         数据类型的分类:        可变的数据类 ...

  4. Python 基础学习之字典

    1.基础代码 ##第六章 字典学习 test={'} print(test['a']) print(test['b']) 返回结果为: black123 2.基础知识: Python中的字典是一系列键 ...

  5. python基础学习笔记——字典

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

  6. python 基础学习4 字典和循环语句

    学了这么多天的基础,好着急的想什么时候可以开始写个小程序,今天还是静下心来把字典和循环语句学习了 关于字典,主要是了解了字典的创建,和映射,以及一些基本的运算法,运算法不一一列出,运算法在用到的时候会 ...

  7. 【Python基础学习三】数字(Number)

    Python Number 数据类型用于存储数值. 数据类型是不允许改变的,这就意味着如果改变 Number 数据类型的值,将重新分配内存空间. Python 四种数值类型: 整型(Int) - 通常 ...

  8. python基础知识三 字典-dict + 菜中菜

    3.7字典:dict+菜中菜 1.简介 ​ 无序,可修改,用于存储数据,大量,比列表快,将数据和数据之间关联 ​ 定义:dict1 = {'cx':10,'liwenhu':80,'zhangyu': ...

  9. 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 ...

随机推荐

  1. LeetCode OJ:Valid Parentheses(有效括号)

    Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the inpu ...

  2. oracle重建undo表空间

    create undo tablespace UNDOTBS2 datafile 'D:\oracle\product\10.2.0\oradata\ttonline\UNDOTBS02.DBF' s ...

  3. I.MX6 recovery mode hacking

    /******************************************************************************** * I.MX6 recovery m ...

  4. [EMWIN]关于 GUI_GetPixelIndex 使用的问题

    在模拟器上和st单片机上使用以下代码: GUI_COLOR color0,color1; color0 = GUI_GetPixelIndex(rect.x1+1, rect.y0);color1 = ...

  5. 【转载】获取MAC地址方法大全

    From:http://blog.csdn.net/han2814675/article/details/6223617 Windows平台下用C++代码取得机器的MAC地址并不是一件简单直接的事情. ...

  6. 21天学通C++_Day1

    被阿里实习生的第一轮电话面试刷掉以后,幡然醒悟,发现以前学习的C++基础一点都不扎实.为了把基础打扎实,重新学习一遍:为了让自己不放弃,也顺便可以把当天学到的东西记录下来,开始了写博客. 学习书籍:& ...

  7. Oracle Sql Developer 连接oracle

    PL/Sql 初次使用需要配置文件内容,对于我这种Oracle新手来说各种配置有点凌乱,所以果断选择Sql Developer. 选择它是因为初次使用的时候它不用想PL/Sql那样配置文件,而只需要添 ...

  8. Django Rest Framework - Could not resolve URL for hyperlinked relationship using view name “user-detail”

    要把跟当前表相关的viewset定义出来 http://stackoverflow.com/questions/20550598/django-rest-framework-could-not-res ...

  9. 不得不注意tornado多进程部署的副作用

    tornado多进程启动时,采用的是fork的方式. 一个现有进程可以调用fork函数创建一个新进程.由fork创建的新进程被称为子进程(child process).fork函数被调用一次但返回两次 ...

  10. 记录一下 C51 里的位运算

    记录一下 C51 里的位运算 一篇上个世纪的文章<单片机的C语言中位操作用法>1 今天看到一个这样的运算,这相当于清了 XICFG. #define INT1IS1 0x80 #defin ...