python语言(二)列表、字典、集合、文件读写、关系测试
s = '王宇建,苏红,邹存才...' # 列表 数字 list l = ['王宇建','苏红','邹存才'] # 一维数组 二维数组 三维数组 # 0 1 2 # 索引、下标、角标 l3 = [1,2,3,4,['abc',123,'ccd'],7] # list里面套list 这就叫做二维数组 以此类推三维数组 # list取元素的时候是根据编号取值的 print(l[0]) print(l[1]) print(l[-1]) # -1就是取最后一个元素 # 增加元素 l.append('王亚娟') # append是在末尾增加元素 l.append('李永') l.insert(0,'周杰伦') # 在指定位置增加元素 l.insert(7,123) # 如果你指定的下标没有,那么就加到最后面 # 修改 l[3] = '财神爷' print(l) # 删除 l.pop(3) # 指定下标删除 l.remove('王宇建') # 指定元素删除 del l[0] # 指定下标删除 print(l) print(l.count('王亚娟')) # count 就是该元素出现次数 index = l.index(123) # 找元素下标 l.reverse() # 反转list l2 = [4,5,2,24,23,564,135,5432] l2.sort() # 排序 l2.sort(reverse=True) # 降序 print(l2) l3 = l + l2 # 直接相加就是把两个list合并成一个list print('L3',l3) l.extend(l2) # 把 l2里面的元素加到l里面 print('L',l)

students = ['zhouchuncai','gaotiaoming','limingmin'] # for stu in students: # print(stu) for i in students: print(i) # 通过下标来循环 # for i in range(len(students)): # print(students[i]) if 'zhouchuncai' in students: # 或者用not in来判断是否在list里面 print('存在') # 1、判断存在 elif 'zhou' not in students: print('不存在') # 2、判断不存在 # in 或 not in 也可以用在字符串里面 s='abc' if 'a' in s: print('存在')
.png)
students = ['zhouchuncai','gaotiaoming','limingmin'] students2 = ['] # 字典key - value -----字典的查找速度比list快很多 d = {'name':'zhouchuncai', ', 'sex':'未知', 'addr':'北京', '} # 1、取值 有两种方式 #print(d['name']) # 取不存在的key会报错 print(d.get('money')) # 用第二种方式取值,如果取不到不会报错,显示None
.png)
# 1、取值 有两种方式 #print(d['name']) # 取不存在的key会报错 print(d.get('money')) # 用第二种方式取值,如果取不到不会报错,显示None # 2、增加key # d['money']=500 # 如果key存在,就修改它的值 # d.setdefault('car','bmw') # 如果key存在,那就不管了 # print(d)
.png)
# 3、修改 d['sex'] = '女' # 修改 # 4、删除 #d.pop('sex') # d.pop('sex') # 删除指定的key,会返回删除的值 # del d['sex'] # 删除指定的key # 5、 d.clear() # 清空字典 print(d.keys()) # 字典里面所有的key print(d.values()) # 字典里面所有的value print(d)
.png)
# 4、删除 #d.pop('sex') # d.pop('sex') # 删除指定的key,会返回删除的值 # del d['sex'] # 删除指定的key # 5、 d.clear() # 清空字典 print(d.keys()) # 字典里面所有的key print(d.values()) # 字典里面所有的value print(d)
.png)
d = { 'id':315, 'name':'矿泉水', 'sex':'女', 'age':27, 'addr':'上海', 'grade':'摩羯座', ', 'gold':100 } # 方法一 优先选这种方式 # for k in d: # 直接循环字典,每次取得是字典里面的key # value = d.get(k) # 循环的时候同时取到key和value # print(k,value) # 方法二 print(d.items()) print(d.keys()) # for key,value in d.items(): # print(key,value) # if 'id' in d: 如果字典用in来判断的话,它判断的是key存在不存在 # if 'id' in d.keys()
.png)
# stus = {'username':'wangyujian','password':'123456'} stus2 = {'} for i in range(3): username = input('username:').strip() pwd = input('password:').strip() cpwd = input('cpassword:').strip() if username == '' or pwd == '' or cpwd == '': print('输入不能为空') elif username in stus2: print('用户已注册') elif pwd != cpwd: print('两次输入的密码不一致') else: stus2.setdefault(username,pwd) print('注册成功!') print(stus2)
.png)
print(l[0:3]) # 切片是顾头不顾尾,即第4个元素不含在取值范围里面 print(l[:3]) # 冒号前头没数组,那就从第一个开始 print(l[3:]) # 冒号后头没数组,那就从第4个开始一直取到最后 print(l[:]) # 只有冒号-就取全部元素 s = 'abc1234' print(s[2::5]) # 字符串内的元素也一样 print(l[0:7:2]) # 从下标为0开始,中间隔1个元素取一个,步长 print(l[::2]) # 从开头,中间隔1个元素取一个,步长
l = [1,2,3,4] l2 = (1,2,3,4) # 元组和list最大区别就是里面的数据不能修改
l[1] = ' print(l2[0:2]) # 在python里面分两种数据类型:#1、可变数据类型:list、dict #2、不可变数据类型:tuple、str、float、int db_info = [','db1'] db_info = (','db1') # 里面元素不可修改
.png)
.png)
l = [1,2,3,4,5,6,7,8,9,10] l2 = [1,2,3,4,5,6,7,8,9,10] for i in l2: if i%2 != 0: # i%2 表示取偶数 l.remove(i) print(l)
.png)
# 浅拷贝 l = [1,2,3,4,5,6] l2 = l print('l的内存地址',id(l)) print('l2的内存地址',id(l2)) l.append('吴丽丽') l2.remove(1) print('l',l) print('l2',l2)
.png)
import copy l = [1,2,3,4,5,6] l2 = copy.deepcopy(l) print('l的内存地址',id(l)) print('l2的内存地址',id(l2)) l.append('吴丽丽') l2.remove(1) print('l',l) print('l2',l2)
.png)
import copy l = [1,2,3,4,['a','b','c']] l2 = copy.deepcopy(l) # 深拷贝 l2 = l[:] # 浅拷贝 l2 = l # 浅拷贝 l2 = l.copy() # 浅拷贝 copy.copy(l2) # 浅拷贝 print('l',id(l)) print('l2',id(l2)) l[-1].append('abc') l2.insert(0,'A') l.append('!!!!!') print('l',l) print('l2',l2)
.png)
s = 'abc' s.strip() s.lstrip() s.rstrip() s.lower() s.upper() s.count('a') print(s.index('a')) # 找字符串的下标 index找不到就报:0 print(s.find('d')) # 找字符串的下标 find找不到就报:-1
.png)
name = '小黑' s = '你的名字是{}'.format(name) s = '你的名字是{name}' print(s.format_map({'name':'小白'})) print(s.isupper()) # 判断是不是都是大写字母 print(s.islower()) # 判断是不是都是小写字母 print(s.isdigit()) # 判断是否为数字 s.startswith() # 判断什么开头 s.endswith() # 判断什么结尾 s = 'img.jpg' ')) # 判断以xx开头 print(s.endswith('jpg')) # 判断以xx结尾 number = input('请输入要产生几条:') if not number.isdigit(): print('请输入整数!') else: number = int(number) print(number) s = 'a哈哈' print(s.isalpha()) # 如果是字母和汉字的话返回true print(s.isalnum()) # 如果是字母、汉字和数字的话返回true;只要不包含特殊字符都返回true s.isspace(' ') # 是不是空格 print(s.capitalize()) # 首字母大写 print(s.title()) # 多个单词首字母大写 s = ' print(s.center(50,'*')) # 居中 print(s.zfill(5)) # 补零 s = 'aaaaaaabc' s = s.replace('a','A') # Abc 替换 print(s) s = 'gaotianming,zoucuncai,choulihong,suhong' s = 'gaotianming/zoucuncai/choulihong/suhong' result = s.split('/') # 用逗号分割每个元素 print(result) #''.join 方法 连接字符串 import pprint l = ['a','b','c'] # 把它变成abc pprint.pprint(str(l)) # 把list里的内容都转成字符串 pprint.pprint(''.join(l)) # 以空字符串把a、b、c连接起来
.png)
l = [1,2,3,4,5] # 把list元素变成字符串如下 s=' # 方法一 l2 = [] for i in l: l2.append(str(i)) print(''.join(l2)) # 方法二 l2 = [str(i) for i in l] print(''.join(l2)) # 方法一、方法二代码效果一样 l3 = [i for i in range(10) if i%2==0] print(l3)
.png)
f = open('a.txt',encoding='utf-8') result = f.read() print(result) f.close()
.png)
# 文件写 f = open('a.txt','w',encoding='utf-8') f.write('你好') # 写的时候会清空原来的文件 f = open('a.txt',encoding='utf-8') result = f.read() print(result) f.close()
.png)
f = open('a.txt','w',encoding='utf-8') f.write('gaotianming'+'\n') f.write('wangjiangyu'+'\n') f = open('a.txt',encoding='utf-8') result = f.read() print(result) f.close()
.png)
# 打开文件写绝对路径,要加:r f = open(r'E:\PycharmProjects\mjz\day2\a.txt','w',encoding='utf-8') f.write('高天明'+'\n') f.write('王靖宇'+'\n') f = open('a.txt',encoding='utf-8') result = f.read() print(result) f.close()
.png)
f = open('a.txt','w',encoding='utf-8') l = ['] for i in l: f.write(i+'\n') f = open('a.txt',encoding='utf-8') result = f.read() print(result) f.close()
.png)
s = {1,2,3,1,2,3,4,5,6} s2 = set() # 空集合 print(s) l = [1,2,3,1,2,3,4,5,6] print(set(l)) print(l)
.png)
# 关系测试 zidonghuaban = set(['gaotianming','wangjianyu','suhong']) xingnengban = set(['jinshuang','gaotianming','wangjianyu']) # 找出即学过自动化也学过性能的同学 (交集) print(zidonghuaban & xingnengban) # 取交集 print(zidonghuaban.intersection(xingnengban)) # 取交集 print(zidonghuaban.union(xingnengban)) # 取并集 把两个集合合并到一起,然后去掉重复的 print(zidonghuaban|xingnengban) # 取并集 a = {1,2,3,4,5,6,232} b = {3,4,5} print(a-b) # 差集,在a集合里面存在,但在b集合里面没有 print(a.difference(b)) # 差集
.png)
python语言(二)列表、字典、集合、文件读写、关系测试的更多相关文章
- Python基础2 列表 字典 集合
本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...
- Learn day3 深浅拷贝/格式化/字符串/列表/字典/集合/文件操作
1. pass break continue # ### pass break continue # (1) pass 过 """如果代码块当中,什么也不写,用pass来 ...
- 关于Python元祖,列表,字典,集合的比较
定义 方法 列表 可以包含不同类型的对象,可以增减元素,可以跟其他的列表结合或者把一个列表拆分,用[]来定义的 eg:aList=[123,'abc',4.56,['inner','list'], ...
- python中元组/列表/字典/集合
转自:https://blog.csdn.net/lobo_seeworld/article/details/79404566
- python3笔记十八:python列表元组字典集合文件操作
一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle #数据持久性模块 #封装的方法def OptionData(data,path): # ...
- python基础一 -------如何在列表字典集合中根据条件筛选数据
如何在列表字典集合中根据条件筛选数据 一:列表 先随机生成一个列表,过滤掉负数 1,普通for循环迭代判断 2,filter()函数判断,filter(函数,list|tuple|string) fi ...
- Python 高效编程技巧实战(2-1)如何在列表,字典, 集合中根据条件筛选数据
Python 高效编程技巧实战(2-1)如何在列表,字典, 集合中根据条件筛选数据 学习目标 1.学会使用 filter 借助 Lambda 表达式过滤列表.集合.元组中的元素: 2.学会使用列表解析 ...
- python :列表 字典 集合 类 ----局部变量可以改全局变量
#列表 字典 集合 类 ----局部变量可以改全局变量,除了整数和字符串 names=["alex","jack","luck"] def ...
- python之字符串,列表,字典,元组,集合内置方法总结
目录 数字类型的内置方法 整型/浮点型 字符串类型的内置方法 列表的内置方法 字典的内置方法 元组的内置方法 集合类型内置方法 布尔类型 数据类型总结 数字类型的内置方法 整型/浮点型 加 + 减 - ...
随机推荐
- C语言结构体的“继承”
这里说的继承有点像C++里的父类和子类,实际上是结构体类型的强制转换,最近看Linux内核源码时经常接触到这种方法,在这里就当作是一个简单的学习吧. 下面给出一个Demo,很简单,分别定义了一个fat ...
- Java 在 Word 文档中使用新文本替换指定文本
创作一份文案,经常会高频率地使用某些词汇,如地名.人名.人物职位等,若表述有误,就需要整体撤换.文本将介绍如何使用Spire.Doc for Java,在Java程序中对Word文档中的指定文本进行替 ...
- Grafana邮件报警
一.概述 报警是Grafana的一项革命性功能,它让Grafana从一个数据可视化工具变成一个真正的任务监控工具.报警规则可以使用现有的图表控制面板设置,阈值可以通过拖拉右边的线控制,非常简单.Gra ...
- 集合单列--Colletion
集合 学习集合的目标: 会使用集合存储数据 会遍历集合,把数据取出来 掌握每种集合的特性 集合和数组的区别 数组的长度是固定的.集合的长度是可变的. 数组中存储的是同一类型的元素,可以存储基本数据类型 ...
- Linux常用命令wc
wc名字来源: wc -- word, line, character, and byte count The wc utility displays the number of lines, wor ...
- 初步学习async/await,Task.GetAwaiter,Task.Result
网上关于async/await的知识有很多,看了很多但不如自己实践一遍来得快,所以这里记录下我的理解和大家学习下. 首先以最简单的同步方法来开始如下 private static void Test( ...
- Git新建分支,分支合并,版本回退详解
一.git基本命令 git拉取仓库代码 #拉取master代码 git clone git仓库地址 #拉取分支代码 git clone -b 分支名称 git仓库地址 2.git添加代码到本地仓库 g ...
- Phoenix连接安全模式下的HBase集群
Phoenix连接安全模式下的HBase集群 HBase集群开启安全模式(即启用kerberos认证)之后,用户无论是用HBase shell还是Phoenix去连接HBase都先需要通过kerber ...
- GIT VI操作汇总
在Git Bash Here中用命令行 pull\push\merge 代码,如果存在冲突或者自动合并时,会自动进入VI界面 1.按下 ESC 键,退出编辑模式,切换到命令模式. 2.输入 :wq , ...
- js/jquery键盘事件及keycode大全
js/jquery的键盘事件分为keypress.keydown和keyup事件 一.键盘事件 1.keydown()事件当按钮被按下时,发生 keydown 事件. 2.keypress()事件ke ...