python学习笔记(三)-列表&字典
列表:
一、列表操作
"""
Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。
比如,列出班里所有同学的名字,就可以用一个list表示:
stus = ['xiaohei','xiaobai','xiaohuang','cxdser']
索引(下标、角标)从0开始,0 1 2 3 4 5 6...。最后一个元素的下标可以写-1
name = 'xiaohei,xiaobai,xiaohuang' 用字符串表示名字,但是多了不好查找
id = 1
#数组、list、array 都是指列表
"""
创建列表
stus = ['xiaohei','xiaobai','xiaohuang','xiaobai','cxdser']
增加
stus.append('曹操')#在list末尾增加一个元素
print('append在list末尾增加一个元素:',stus)
stus.append('曹仁')#在list末尾增加一个元素
print('append在list末尾增加一个元素:',stus)
stus.insert(3,'曹洪')#在指定位置添加元素
print('指定在下标3位置添加元素:',stus)
stus.insert(1000,'曹纯')#如果你指定的下标不存在,那么就是在末尾添加
print('指定不存在的下标位置添加元素:',stus)
修改
stus[0]='曹休' #指定下标位置修改元素
print('[X]指定下标位置修改元素:',stus)
查看
print('查看整个列表:',stus) #查看整个列表
print('查看指定下标的元素:',stus[-1]) #查看指定下标的元素
print(stus.count('hhaha')) #查看某个元素在这个里面的个数,如果该元素不存在,那么返回0
print(stus.index('xiaobai')) #找到这个元素的下标,如果有多个,返回第一个,如果找一个不存在的元素,会报错
list操作
stus = ['xiaohei','xiaobai','xiaohuang','cxdser','xiaohei']
stus.pop() #默认删除最后一个元素,如果指定下标,那么删除指定的元素
print('pop删除最后一个元素:',stus)
stus.remove('xiaohei') #删除list里面的一个元素
print('remove删除指定元素:',stus)
del stus[0] #删除指定下标的元素
print('del删除指定元素:',stus)
stus.clear() #清空整个list
print('clear清空整个list:',stus)
stus.reverse() #反转list
print('reverse反转整个list:',stus)
nums = [9,31,345,12,457,2352,12143,2321]
nums.sort(reverse=True) #排序,默认排序是升序,如果指定了reverse=True就是按照降序拍
print(nums)
nums.sort() #排序,默认排序是升序,如果指定了reverse=True就是按照降序拍
print(nums)
多维数组
二维数组 三维数组
two_nums = [123,456,[789,10,11]] #二维数组列表
print(two_nums[2][1]) #查看10
three_nums = [123,456,[789,10,11,['hahaha','1234']]]
print(three_nums[2][3][0]) #查看haha
a = [1,2,3]
b = [4,5,6]
a.extend(b) #合并两个list,将b合并到a中
print('合并后的列表',a)
print(b)
二、列表循环和切片
列表循环
如果直接for循环一个list的时候,那么每次循环的值都是这个list里面的元素
names = ['haha','hehe','heihei']
for name in names:
print(name)
切片
nums = [1,2,3,4,5,6,7,8,9,10]
print(nums[-1:-8:-1])#步长
步长是正数的话从左往右取
步长是负数的话从右往左取
print('没有:7',nums[:6])
切片同样适用于字符串,字符串也有下标
title='今 天 发 苹 果 '
print(title[:4])
for i,t in enumerate(nums): #enumerate可以同时循环下标和值
print(i,t)
就是list取值的一种方式
print(nums[2:4])
print(nums[:6])#如果切片前面一个值不写的话,从开头取
print(nums[3:])##如果切片后面的值不写的话,取到末尾
print(nums[:])#如果前面的值和后面的值都不写的话,那么全取过来
切片是顾头不顾尾
三、非空即真
非空即真
非0即真
print(1>2)
a=1
b=2
if a==b:
print('xxx')
字典:
一、字典操作
d = { 'name':'曹操',
'age':18,
'sex':'男',
'addr':'昌平区',
'money':10000000 ,
'shengao':'200'
}
d.pop('shengao')#删除某个key
print('pop删除指定key:',d)
d.popitem()#随机删除一个
print('popitem随机删除一个:',d)
del d['shengao']
print('指定key进行删除:',d)
d.clear()#清空字典
print('clear清空字典:',d)
print('获取到字典所有的key:',d.keys())#获取到字典所有的key
print('获取到所有的values:',d.values())#获取到所有的values
d.has_key('addr') #python2里面字典有这个方法,有没有这个key
if 'addr' in d: #判断key是否在这个字典里头
print('addr')
print('把字典的k和v转成一个二维数组:',d.items())#是把字典的k和v转成一个二维数组
for k,v in d.items():#遍历字典并将k、v值打印出来
print(k,v)
res = list(d.items()) #把字典转成列表
print(d.items())
print(res[0]) #打印指定字段
for k in d: #用循环遍历字典,性能好
print(k,d.get(k)) #打印k、V值,返回指定键的值,如果值不在字典中返回default值
类型转换
int()#int类型
str()#转成字符
list()#转成list d_list = str(d)
print(d_list)
二、字典嵌套
stus = {
'ybq': {
'age': 18,
'sex': '男',
'addr': '昌平区',
'money': 10000000,
'jinku': {
'建行卡': 80000,
'工商卡': 800000,
'招商卡': 8000000
}
},
'tlx': {
'age': 19,
'sex': '女',
'addr': '昌平区',
'money': 10000000,
'huazhuangpin': ['chanle','haha']
},
'mpp': {
'age': 19,
'sex': '女',
'addr': '昌平区',
'money': 10000000,
"bag": {
'lv': '一车',
'鳄鱼':10
}
},
'lcy':{
'age':18,
'sex':'男',
'addr':'昌平区',
'money': 10000000,
'jinku':{'建行卡': 80000}
},
}
print('stus:',stus)
print('ybq:',stus['ybq'])
print('age:',stus['ybq']['age'])
print('jinku:',stus['ybq']['jinku'].values())
jk = stus['ybq']['jinku'].values()
print('sum:',sum(jk))
sum_money = 0
for money in jk:
sum_money = sum_money + money
print('sum_money:',sum_money)
print('打印haha:',stus['tlx']['huazhuangpin'][1])
print('打印一车:',stus['mpp']['bag']['lv'])
python学习笔记(三)-列表&字典的更多相关文章
- python学习笔记(三)、字典
字典是一种映射类型的数据类型.辣么什么是映射呢?如果看过<数据结构与算法>这一本书的小伙伴应该有印象(我也只是大学学习过,嘻嘻). 映射:就是将两个集合一 一对应起来,通过集合a的值,集合 ...
- python 学习笔记(三)根据字典中值的大小对字典中的项排序
字典的元素是成键值对出现的,直接对字典使用sorted() 排序,它是根据字典的键的ASCII编码顺序进行排序,要想让字典根据值的大小来排序,可以有两种方法来实现: 一.利用zip函数将字典数据转化为 ...
- 【python学习笔记】4.字典:当索引不好用时
[python学习笔记]4.字典:当索引不好用时 字典是python中唯一内建的map类型 创建: key可以为任何不可改变的类型,包括内置类型,或者元组,字符串 通过大括号: phonebook={ ...
- python学习笔记整理——列表
Python 文档学习笔记 数据结构--列表 列表的方法 添加 list.append(x) 添加元素 添加一个元素到列表的末尾:相当于a[len(a):] = [x] list.extend(L) ...
- Python学习笔记_week2_列表、元组、字典、字符串、文件、i编码
一. 列表.元组 names=["A","B","C","D"] print(names) print(names[0] ...
- Python学习笔记---切片 列表 元祖 字典 集合
列表[1,2,3,2]#[] 元祖(1,2,3,2)#() 字典{1:2,3:2}#{} 集合{1,2,3,2}#{} 1,集合与列表的区别,集合里不能有重复元素 2.字典与集合的区别,都是用花括号表 ...
- python学习笔记6(字典)
映射:键值对的关系,键(key)映射值(value) 字典是Python唯一的映射类型 >>> phonebook = {'} >>> phonebook {'} ...
- python学习笔记07-元组 字典
元组: 元组里面的元素不可修改 创建后只可读 不可写 一个元素的时候 在后面加一个逗号 字典: 无序的 Python 中唯一的映射类型 采用键值对的形式存储数据 key必须是可哈希的 可哈希表示 ...
- Python 学习笔记三
笔记三:函数 笔记二已取消置顶链接地址:http://www.cnblogs.com/dzzy/p/5289186.html 函数的作用: 給代码段命名,就像变量給数字命名一样 可以接收参数,像arg ...
随机推荐
- Longhorn,企业级云原生容器分布式存储 - K8S 资源配置示例
内容来源于官方 Longhorn 1.1.2 英文技术手册. 系列 Longhorn 是什么? Longhorn 企业级云原生容器分布式存储解决方案设计架构和概念 Longhorn 企业级云原生容器分 ...
- docker安装sonarqube
目录 一.sonarqube简介 二.安装postgresql数据库 三.sonarqube安装 四.使用教程 五.参考 一.sonarqube简介 SonarQube是管理代码质量的一个开放平台,可 ...
- "image watch" for QtCreator
Image Watch Image Watch 是Visual Studio的一个插件,用来在C++ 调试时显示内存中的位图图像.可以直观的看到图像的变化而不用添加额外的显示代码.其内建了对OpenC ...
- 判断N是否是质数,为什么判断到根号N就可以了
N=根号N*根号NN的因数除了根号N,其他都是成对存在的, 且必定一个大于根号N一个小于根号N假设N不是质数,有个因数大于根号N(不是N本身) 则N必定有一个与之对应的小于根号N的因数也就是说,如果2 ...
- C#设计模式---模板方法模式(Template Method Pattern)
一.目的 模板方法模式把不变行为搬到超类中,从而去除了子类中的重复代码. 二.定义 模板方法模式:在一个抽象类中定义一个操作的算法骨架,将算法骨架中某些特定的操作延迟到子类中实现. 模板方法使得子类在 ...
- (3)hadoop单节点配置
hadopp版本hadoop-2.6.0-cdh5.7.0 下载地址http://archive-primary.cloudera.com/cdh5/cdh/5/ 同样使用flashFXP上 ...
- CentOS 6.x 系统中安装原生 Hadoop 2
2020年整理博客发现原文地址已经失效,推荐学习地址厦门大学数据库实验室 本教程适合于在 CentOS 6.x 系统中安装原生 Hadoop 2,适用于Hadoop 2.7.1, Hadoop 2.6 ...
- Java静态内部类——重点是精妙的demo
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/cd18333612683/article/details/79129503什么是内部类大部分时候,类 ...
- 【CSS复合选择器、元素显示模式、背景】前端小抄(3) - Pink老师自学笔记
[CSS复合选择器.元素显示模式.背景]前端小抄(3) 本学习笔记是个人对 Pink 老师课程的总结归纳,转载请注明出处! 一.CSS的复合选择器 1.1 什么是复合选择器 在 CSS 中,可以根据选 ...
- ES6扩展——数组的新方法(Array.from、Array.of、Array.fill、Array.includes、keys values entries 、find)
1.Array.from(objec,回调函数)将一个ArrayLike对象或者Iterable对象(类数组对象)转换成一个数组 1)该类数组对象必须具有length属性,用于指定数组的长度.如果没有 ...