1、列表 list
 
代码
  1. s = '王宇建,苏红,邹存才...'
  2.  
  3. # 列表 数字 list
  4. l = ['王宇建','苏红','邹存才'] # 一维数组 二维数组 三维数组
  5. # 0 1 2
  6. # 索引、下标、角标
  7. l3 = [1,2,3,4,['abc',123,'ccd'],7] # list里面套list 这就叫做二维数组 以此类推三维数组
  8.  
  9. # list取元素的时候是根据编号取值的
  10. print(l[0])
  11. print(l[1])
  12. print(l[-1]) # -1就是取最后一个元素
  13.  
  14. # 增加元素
  15. l.append('王亚娟') # append是在末尾增加元素
  16. l.append('李永')
  17. l.insert(0,'周杰伦') # 在指定位置增加元素
  18. l.insert(7,123) # 如果你指定的下标没有,那么就加到最后面
  19.  
  20. # 修改
  21. l[3] = '财神爷'
  22. print(l)
  23. # 删除
  24. l.pop(3) # 指定下标删除
  25. l.remove('王宇建') # 指定元素删除
  26. del l[0] # 指定下标删除
  27. print(l)
  28.  
  29. print(l.count('王亚娟')) # count 就是该元素出现次数
  30. index = l.index(123) # 找元素下标
  31. l.reverse() # 反转list
  32.  
  33. l2 = [4,5,2,24,23,564,135,5432]
  34. l2.sort() # 排序 l2.sort(reverse=True) # 降序
  35.  
  36. print(l2)
  37.  
  38. l3 = l + l2 # 直接相加就是把两个list合并成一个list
  39. print('L3',l3)
  40.  
  41. l.extend(l2) # 把 l2里面的元素加到l里面
  42. print('L',l)
 
2、列表循环
 
代码
  1. students = ['zhouchuncai','gaotiaoming','limingmin']
  2.  
  3. # for stu in students:
  4. # print(stu)
  5. for i in students:
  6. print(i)
  7. # 通过下标来循环
  8. # for i in range(len(students)):
  9. # print(students[i])
  10.  
  11. if 'zhouchuncai' in students: # 或者用not in来判断是否在list里面
  12. print('存在') # 1、判断存在
  13. elif 'zhou' not in students:
  14. print('不存在') # 2、判断不存在
  15.  
  16. # in 或 not in 也可以用在字符串里面
  17. s='abc'
  18. if 'a' in s:
  19. print('存在')
 
 
3、字典 dict
 
代码
  1. students = ['zhouchuncai','gaotiaoming','limingmin']
  2. students2 = [']
  3.  
  4. # 字典key - value -----字典的查找速度比list快很多
  5.  
  6. d = {'name':'zhouchuncai',
  7. ',
  8. 'sex':'未知',
  9. 'addr':'北京',
  10. '}
  11.  
  12. # 1、取值 有两种方式
  13. #print(d['name']) # 取不存在的key会报错
  14. print(d.get('money')) # 用第二种方式取值,如果取不到不会报错,显示None
 
代码
  1. # 1、取值 有两种方式
  2. #print(d['name']) # 取不存在的key会报错
  3. print(d.get('money')) # 用第二种方式取值,如果取不到不会报错,显示None
  4.  
  5. # 2、增加key
  6. # d['money']=500 # 如果key存在,就修改它的值
  7. # d.setdefault('car','bmw') # 如果key存在,那就不管了
  8. # print(d)
 
代码
  1. # 3、修改
  2. d['sex'] = '女' # 修改
  3.  
  4. # 4、删除
  5. #d.pop('sex')
  6. # d.pop('sex') # 删除指定的key,会返回删除的值
  7. # del d['sex'] # 删除指定的key
  8.  
  9. # 5、 d.clear() # 清空字典
  10. print(d.keys()) # 字典里面所有的key
  11. print(d.values()) # 字典里面所有的value
  12.  
  13. print(d)
 
代码
  1. # 4、删除
  2. #d.pop('sex')
  3. # d.pop('sex') # 删除指定的key,会返回删除的值
  4. # del d['sex'] # 删除指定的key
  5.  
  6. # 5、 d.clear() # 清空字典
  7. print(d.keys()) # 字典里面所有的key
  8. print(d.values()) # 字典里面所有的value
  9.  
  10. print(d)
 
4、字典循环
 
代码
  1. d = {
  2. 'id':315,
  3. 'name':'矿泉水',
  4. 'sex':'女',
  5. 'age':27,
  6. 'addr':'上海',
  7. 'grade':'摩羯座',
  8. ',
  9. 'gold':100
  10. }
  11. # 方法一 优先选这种方式
  12. # for k in d: # 直接循环字典,每次取得是字典里面的key
  13. # value = d.get(k) # 循环的时候同时取到key和value
  14. # print(k,value)
  15.  
  16. # 方法二
  17. print(d.items())
  18. print(d.keys())
  19.  
  20. # for key,value in d.items():
  21. # print(key,value)
  22.  
  23. # if 'id' in d: 如果字典用in来判断的话,它判断的是key存在不存在
  24. # if 'id' in d.keys()
 
5、【注册】
 
# 1、输入账号、密码、确认密码来注册
# 2、如果账号不存在的话,可以注册
# 3、两次密码输入一致,可以注册
 代码
  1. # stus = {'username':'wangyujian','password':'123456'}
  2.  
  3. stus2 = {'}
  4.  
  5. for i in range(3):
  6. username = input('username').strip()
  7. pwd = input('password').strip()
  8. cpwd = input('cpassword').strip()
  9. if username == '' or pwd == '' or cpwd == '':
  10. print('输入不能为空')
  11. elif username in stus2:
  12. print('用户已注册')
  13. elif pwd != cpwd:
  14. print('两次输入的密码不一致')
  15. else:
  16. stus2.setdefault(username,pwd)
  17. print('注册成功!')
  18. print(stus2)
 
 
6、切片
 
切片就是list取值的一种方式
代码
  l = [1,2,3,4,5,6,7,8,9,10] 
 
切片就是对list一个范围取值
 
  1. print(l[0:3]) # 切片是顾头不顾尾,即第4个元素不含在取值范围里面
  2.  
  3. print(l[:3]) # 冒号前头没数组,那就从第一个开始
  4. print(l[3:]) # 冒号后头没数组,那就从第4个开始一直取到最后
  5. print(l[:]) # 只有冒号-就取全部元素
  6.  
  7. s = 'abc1234'
  8. print(s[2::5]) # 字符串内的元素也一样
  9.  
  10. print(l[0:7:2]) # 从下标为0开始,中间隔1个元素取一个,步长
  11. print(l[::2]) # 从开头,中间隔1个元素取一个,步长
 
 
7、元组
 
元组
代码
  1. l = [1,2,3,4]
  2. l2 = (1,2,3,4) # 元组和list最大区别就是里面的数据不能修改
  修改元组
代码
  1. l[1] = '
  2. print(l2[0:2])
  3.  
  4. # 在python里面分两种数据类型:#1、可变数据类型:list、dict
  5. #2、不可变数据类型:tuple、str、float、int
  6.  
  7. db_info = [','db1']
  8. db_info = (','db1') # 里面元素不可修改
l = [1,1,2,3,4,5,6,7,8,9]
 
for i in l:
if i%2 != 0: # i%2 表示取偶数
l.remove(i)
print(l) # 取值为:[1, 2, 4, 6, 8] 因为取第一个元素时,“1”被删除了,第二次循环时,跳过第2个元素,从2开始
代码
  1. l = [1,2,3,4,5,6,7,8,9,10]
  2. l2 = [1,2,3,4,5,6,7,8,9,10]
  3.  
  4. for i in l2:
  5. if i%2 != 0: # i%2 表示取偶数
  6. l.remove(i)
  7. print(l)
 
8、浅拷贝、深拷贝
 
浅拷贝
代码
  1. # 浅拷贝
  2. l = [1,2,3,4,5,6]
  3. l2 = l
  4. print('l的内存地址',id(l))
  5. print('l2的内存地址',id(l2))
  6.  
  7. l.append('吴丽丽')
  8. l2.remove(1)
  9. print('l',l)
  10. print('l2',l2)
 
代码
  1. import copy
  2. l = [1,2,3,4,5,6]
  3. l2 = copy.deepcopy(l)
  4.  
  5. print('l的内存地址',id(l))
  6. print('l2的内存地址',id(l2))
  7. l.append('吴丽丽')
  8. l2.remove(1)
  9. print('l',l)
  10. print('l2',l2)
 
代码
  1. import copy
  2. l = [1,2,3,4,['a','b','c']]
  3. l2 = copy.deepcopy(l) # 深拷贝
  4. l2 = l[:] # 浅拷贝
  5. l2 = l # 浅拷贝
  6. l2 = l.copy() # 浅拷贝
  7. copy.copy(l2) # 浅拷贝
  8. print('l',id(l))
  9. print('l2',id(l2))
  10. l[-1].append('abc')
  11. l2.insert(0,'A')
  12. l.append('!!!!!')
  13. print('l',l)
  14. print('l2',l2)
 
 
9、字符串常用的方法
 
代码
  1. s = 'abc'
  2. s.strip()
  3. s.lstrip()
  4. s.rstrip()
  5. s.lower()
  6. s.upper()
  7. s.count('a')
  8. print(s.index('a')) # 找字符串的下标 index找不到就报:0
  9. print(s.find('d')) # 找字符串的下标 find找不到就报:-1
 
代码
  1. name = '小黑'
  2. s = '你的名字是{}'.format(name)
  3. s = '你的名字是{name}'
  4. print(s.format_map({'name':'小白'}))
  5. print(s.isupper()) # 判断是不是都是大写字母
  6. print(s.islower()) # 判断是不是都是小写字母
  7. print(s.isdigit()) # 判断是否为数字
  8. s.startswith() # 判断什么开头
  9. s.endswith() # 判断什么结尾
  10. s = 'img.jpg'
  11. ')) # 判断以xx开头
  12. print(s.endswith('jpg')) # 判断以xx结尾
  13.  
  14. number = input('请输入要产生几条:')
  15. if not number.isdigit():
  16. print('请输入整数!')
  17. else:
  18. number = int(number)
  19. print(number)
  20.  
  21. s = 'a哈哈'
  22. print(s.isalpha()) # 如果是字母和汉字的话返回true
  23. print(s.isalnum()) # 如果是字母、汉字和数字的话返回true;只要不包含特殊字符都返回true
  24. s.isspace(' ') # 是不是空格
  25. print(s.capitalize()) # 首字母大写
  26. print(s.title()) # 多个单词首字母大写
  27.  
  28. s = '
  29. print(s.center(50,'*')) # 居中
  30. print(s.zfill(5)) # 补零
  31. s = 'aaaaaaabc'
  32. s = s.replace('a','A') # Abc 替换
  33. print(s)
  34.  
  35. s = 'gaotianming,zoucuncai,choulihong,suhong'
  36. s = 'gaotianming/zoucuncai/choulihong/suhong'
  37. result = s.split('/') # 用逗号分割每个元素
  38. print(result)
  39.  
  40. #''.join 方法 连接字符串
  41. import pprint
  42. l = ['a','b','c'] # 把它变成abc
  43. pprint.pprint(str(l)) # 把list里的内容都转成字符串
  44. pprint.pprint(''.join(l)) # 以空字符串把a、b、c连接起来
 
10、列表生成式
 
代码
  1. l = [1,2,3,4,5]
  2. # 把list元素变成字符串如下
  3. s='
  4.  
  5. # 方法一
  6. l2 = []
  7. for i in l:
  8. l2.append(str(i))
  9. print(''.join(l2))
  10.  
  11. # 方法二
  12. l2 = [str(i) for i in l]
  13. print(''.join(l2)) # 方法一、方法二代码效果一样
  14.  
  15. l3 = [i for i in range(10) if i%2==0]
  16. print(l3)
 
11、文件读写
 
1>文件 读
代码
  1. f = open('a.txt',encoding='utf-8')
  2.  
  3. result = f.read()
  4.  
  5. print(result)
  6. f.close()
 
2>文件写
 
代码
  1. # 文件写
  2. f = open('a.txt','w',encoding='utf-8')
  3. f.write('你好') # 写的时候会清空原来的文件
  4. f = open('a.txt',encoding='utf-8')
  5. result = f.read()
  6. print(result)
  7. f.close()
 
代码
  1. f = open('a.txt','w',encoding='utf-8')
  2. f.write('gaotianming'+'\n')
  3. f.write('wangjiangyu'+'\n')
  4. f = open('a.txt',encoding='utf-8')
  5. result = f.read()
  6. print(result)
  7. f.close()
 
打开文件写绝对路径,要加:r  或者加双斜线:\\
代码
  1. # 打开文件写绝对路径,要加:r
  2. f = open(r'E:\PycharmProjects\mjz\day2\a.txt','w',encoding='utf-8')
  3. f.write('高天明'+'\n')
  4. f.write('王靖宇'+'\n')
  5. f = open('a.txt',encoding='utf-8')
  6. result = f.read()
  7. print(result)
  8. f.close()
 
 
也可以用循环写入
代码
  1. f = open('a.txt','w',encoding='utf-8')
  2. l = [']
  3. for i in l:
  4. f.write(i+'\n')
  5. f = open('a.txt',encoding='utf-8')
  6. result = f.read()
  7. print(result)
  8. f.close()
 
12、集合
 
 
集合天生去重
代码
  1. s = {1,2,3,1,2,3,4,5,6}
  2. s2 = set() # 空集合
  3. print(s)
  4.  
  5. l = [1,2,3,1,2,3,4,5,6]
  6. print(set(l))
  7. print(l)
 
 
 
13、关系测试
 
关系测试
代码
  1. # 关系测试
  2. zidonghuaban = set(['gaotianming','wangjianyu','suhong'])
  3. xingnengban = set(['jinshuang','gaotianming','wangjianyu'])
  4. # 找出即学过自动化也学过性能的同学 (交集)
  5. print(zidonghuaban & xingnengban) # 取交集
  6. print(zidonghuaban.intersection(xingnengban)) # 取交集
  7.  
  8. print(zidonghuaban.union(xingnengban)) # 取并集 把两个集合合并到一起,然后去掉重复的
  9. print(zidonghuaban|xingnengban) # 取并集
  10.  
  11. a = {1,2,3,4,5,6,232}
  12. b = {3,4,5}
  13. print(a-b) # 差集,在a集合里面存在,但在b集合里面没有
  14. print(a.difference(b)) # 差集
 
 
 
 

python语言(二)列表、字典、集合、文件读写、关系测试的更多相关文章

  1. Python基础2 列表 字典 集合

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...

  2. Learn day3 深浅拷贝/格式化/字符串/列表/字典/集合/文件操作

    1. pass break continue # ### pass break continue # (1) pass 过 """如果代码块当中,什么也不写,用pass来 ...

  3. 关于Python元祖,列表,字典,集合的比较

      定义 方法 列表 可以包含不同类型的对象,可以增减元素,可以跟其他的列表结合或者把一个列表拆分,用[]来定义的 eg:aList=[123,'abc',4.56,['inner','list'], ...

  4. python中元组/列表/字典/集合

    转自:https://blog.csdn.net/lobo_seeworld/article/details/79404566

  5. python3笔记十八:python列表元组字典集合文件操作

    一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle  #数据持久性模块 #封装的方法def OptionData(data,path):    # ...

  6. python基础一 -------如何在列表字典集合中根据条件筛选数据

    如何在列表字典集合中根据条件筛选数据 一:列表 先随机生成一个列表,过滤掉负数 1,普通for循环迭代判断 2,filter()函数判断,filter(函数,list|tuple|string) fi ...

  7. Python 高效编程技巧实战(2-1)如何在列表,字典, 集合中根据条件筛选数据

    Python 高效编程技巧实战(2-1)如何在列表,字典, 集合中根据条件筛选数据 学习目标 1.学会使用 filter 借助 Lambda 表达式过滤列表.集合.元组中的元素: 2.学会使用列表解析 ...

  8. python :列表 字典 集合 类 ----局部变量可以改全局变量

    #列表 字典 集合 类 ----局部变量可以改全局变量,除了整数和字符串 names=["alex","jack","luck"] def ...

  9. python之字符串,列表,字典,元组,集合内置方法总结

    目录 数字类型的内置方法 整型/浮点型 字符串类型的内置方法 列表的内置方法 字典的内置方法 元组的内置方法 集合类型内置方法 布尔类型 数据类型总结 数字类型的内置方法 整型/浮点型 加 + 减 - ...

随机推荐

  1. SQL Server 10分钟理解游标

    概述 游标是邪恶的! 在关系数据库中,我们对于查询的思考是面向集合的.而游标打破了这一规则,游标使得我们思考方式变为逐行进行.对于类C的开发人员来着,这样的思考方式会更加舒服. 正常面向集合的思维方式 ...

  2. AntDesign vue学习笔记(六)Table 显示图片

    AntDeign官网上没有table动态绑定显示图片的示例,baidu上搜索出来的大部分都是React语法,无法使用. 经过摸索,实现方法如下:以显示一个图片,一个按钮为例(picurl是返回的jso ...

  3. Vue父组件如何调用子组件(弹出框)中的方法的问题

    如果子组件是一个弹出框,只有在触发某个点击事件时弹出框才能出现(也就是说在父组件中的子组件使用上用了v-if),那在父组件上如果不点击弹出框是不能获取到$ref的. 原因就是:引用指向的是子组件创建的 ...

  4. vue的package.json文件理解

    参考文档: https://www.cnblogs.com/tzyy/p/5193811.html#_h1_0 https://www.cnblogs.com/hongdiandian/p/83210 ...

  5. Lua代码编写规范

    开发中,大量使用lua,暂时根据当前状况,总结相对而言较好的规范,在多人协作中可以更好的开发.交流. 介绍  该文档旨在为使用lua编写应用程序建立编码指南. 制订编码规范的目的: 统一编码标准,通用 ...

  6. Centos Docker 安装 Apache Guacamole

    经常在ubuntu上折腾,偶尔在centos来也来玩一把吧 1.安装DOCKER cd /etc/yum.repos.d wget https://download.docker.com/linux/ ...

  7. 用Python程序温度转换实例

    实例:温度转换 (1)分析问题:利用程序进行温度转换,由用户输入温度值,程序给出输出结果:通过语音识别,图像识别等方法自动监听并获得温度信息发布渠道(如收音机.电视机)给出的温度播报源数据,再由程序装 ...

  8. WPF 在MVVM模式下弹出子窗体的方式

    主要是通过一个WindowManager管理类,在window后台代码中通过WindowManager注册需要弹出的窗体类型,在ViewModel通过WindowManager的Show方法,显示出来 ...

  9. Eclipse集成Git做团队开发:代码管理

    在日常开发工作中,我们通常使用版本控制软件管理团队的源代码,常用的SVN.Git.与SVN相比,Git有分支的概念,可以从主分支创建开发分支,在开发分支测试没有问题之后,再合并到主分支上去,从而避免了 ...

  10. js浏览器对象模型【BOM】(十三)

    一.时间定时器1.超时调用setTimeout(fun,time)    [返回一个唯一标识该超时调用的ID数值]参数:fun:要执行的函数time:设置第多少毫秒后执行fun函数 clearTime ...