1、列表 list
 
代码
 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)
 
2、列表循环
 
代码
 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('存在')
 
 
3、字典 dict
 
代码
 students = ['zhouchuncai','gaotiaoming','limingmin']
 students2 = [']

 # 字典key - value  -----字典的查找速度比list快很多

 d = {'name':'zhouchuncai',
      ',
      'sex':'未知',
      'addr':'北京',
      '}

 # 1、取值   有两种方式
 #print(d['name'])    # 取不存在的key会报错
 print(d.get('money'))  # 用第二种方式取值,如果取不到不会报错,显示None
 
代码
 # 1、取值   有两种方式
 #print(d['name'])    # 取不存在的key会报错
 print(d.get('money'))  # 用第二种方式取值,如果取不到不会报错,显示None

 # 2、增加key
 # d['money']=500   # 如果key存在,就修改它的值
 # d.setdefault('car','bmw') # 如果key存在,那就不管了
 # print(d)
 
代码
 # 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)
 
代码
 # 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)
 
4、字典循环
 
代码
 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()
 
5、【注册】
 
# 1、输入账号、密码、确认密码来注册
# 2、如果账号不存在的话,可以注册
# 3、两次密码输入一致,可以注册
 代码
 # 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)
 
 
6、切片
 
切片就是list取值的一种方式
代码
  l = [1,2,3,4,5,6,7,8,9,10] 
 
切片就是对list一个范围取值
 
 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个元素取一个,步长
 
 
7、元组
 
元组
代码
 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') # 里面元素不可修改
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开始
代码
 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)
 
8、浅拷贝、深拷贝
 
浅拷贝
代码
 # 浅拷贝
 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)
 
代码
 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)
 
代码
 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)
 
 
9、字符串常用的方法
 
代码
 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
 
代码
 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连接起来
 
10、列表生成式
 
代码
 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)
 
11、文件读写
 
1>文件 读
代码
 f = open('a.txt',encoding='utf-8')

 result = f.read()

 print(result)
 f.close()
 
2>文件写
 
代码
 # 文件写
 f = open('a.txt','w',encoding='utf-8')
 f.write('你好')  # 写的时候会清空原来的文件
 f = open('a.txt',encoding='utf-8')
 result = f.read()
 print(result)
 f.close()
 
代码
 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()
 
打开文件写绝对路径,要加:r  或者加双斜线:\\
代码
 # 打开文件写绝对路径,要加: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()
 
 
也可以用循环写入
代码
 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()
 
12、集合
 
 
集合天生去重
代码
 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)
 
 
 
13、关系测试
 
关系测试
代码
 # 关系测试
 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)) # 差集
 
 
 
 

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. [转帖]疑似兆芯开先KX-7000跑分曝光:IPC性能大幅提升

    疑似兆芯开先KX-7000跑分曝光:IPC性能大幅提升 https://www.bilibili.com/read/cv4028300 数码 11-23 1589阅读28点赞22评论 尽管有ARM架构 ...

  2. Effective.Java第56-66条(规范相关)

    56.  为所有已公开的API元素编写文档注释 要正确地记录API,必须在每个导出的类.接口.构造方法.方法和属性声明之前加上文档注释.如果一个类是可序列化的,还需要记录它的序列化形式. 文档注释在源 ...

  3. intellij idea快速通过mapper跳转到xml文件

    安装完之后重启idea即可!

  4. Maven安装及配置(Linux系统)

    环境说明:Linux环境,CentOS 7版本. 第一步:下载Maven,地址:http://maven.apache.org/download.cgi 我这里下载的是[apache-maven-3. ...

  5. 【题解】【网络流24题】航空路线问题 [P2770] [Loj6122]

    [题解][网络流24题]航空路线问题 [P2770] [Loj6122] 传送门:航空路线问题 \([P2770]\) \([Loj6122]\) [题目描述] 给出一张有向图,每个点(除了起点 \( ...

  6. Rdlc Mail Label

    1.创建报表服务器项目RDLML. 2.新建共享数据源DataMailLabel,设置到数据库AdventureWorks的连接,并为报表指定相应的访问凭据. 3.选择Name.Color.Thumb ...

  7. kafka controller脑裂(多个controller)问题

    问题:情况一:创建topic成功,但是produce的时候,却报unknown partition的错误,但zk上却显示了每个partition的leader信息:情况二: 给某个topic增加分区, ...

  8. 调用日志输出错误:TypeError: 'int' object is not callable等

    *)TypeError: 'int' object is not callable 错误信息: Traceback (most recent call last): File "Visual ...

  9. 26、router.beforeEach路由拦截

    为了防止用户未登录直接修改路径来访问页面,解决办法: 在main.js文件中加入以下代码: // 路由拦截 router.beforeEach((to, from, next) => { if ...

  10. 复盘一篇讲sklearn库的文章(下)

    skleran-处理流程 获取数据 以用sklearn的内置数据集, 先导入datasets模块. 最经典的iris数据集作为例子. from sklearn import datasets iris ...