列表+元组+字典+集合+进制转化+字符串的常用操作方法

1、列表

  • list
  • [12,Ture,'你好',[1,2,3]] 承载任意数据类型,存储大量数据,Python常用的容器型数据类型,可以增删改查
      • append 方法 :在列表最后追加
      • insert 方法 :在指定索引位置插入
      • extend 方法:迭代着追加
      • pop 方法 :按索引位置删除,默认删除最后一个元素,返回值为删除的元素
      • remove 方法:指定元素删除,如果有同名元素,默认删除从左数第一个
      • clear 方法:清空列表元素
      • del :可以按索引删除,可以按切片删除,
      • 按索引重新赋值
      • 按切片重新赋值,迭代修改,加步长需要一一对应
      • 通过索引,切片,for循环方式查
      • for i in listname

2、元组

  • tuple
  • (12,Ture,'你好',[1,2,3]) 存储大量数据,只读,不可以改变里面的元素
  • 应用:重要数据,用户名,密码,个人信息,不想让别人改动的一些数据,可以保存在元组中
  • 元组拆包需要一一对应

3、字典

  • dict

  • {'name':'Tom'} 已{}括起来,以键值对形式存储的容器型数据类型

  • 键必须是不可变的数据类型:int str (bool tuple几乎不用)

    • 可变的数据类型:list dict set
    • 不可变的数据类型:str bool int tuple
  • 值可以是任意数据类型,对象

  • 字典的优点:存储大量的关联型数据,查询速度非常快

  • 字典的缺点:以空间换时间

  • 字典的创建方式

    方式一:元组
    dic = dict(('one',1),('two',2),('three',3))
    print(dic)    #{'one':1,'two':2,'three':3}
    方式二:
    dic = dict(one=1,two=2,three=3)
    print(dic)    #{'one':1,'two':2,'three':3}
    方式三:
    dic = dict({'one':1,'two':2,'three':3})
    print(dic)    #{'one':1,'two':2,'three':3}
    
    
  • 字典的增删改查

    • 增:

      方式一:直接增加,有则改之,无则增加
      dic = {'name':'张三','age'=20}
      dic['sex'] = '男'    #键相同则修改字典内的值
      print(dic) #{'name':'张三','age'=20,'sex':'男'}
      方式二:setdefault  有则不变,无则增加
      dic = {'name':'张三','age'=20}
      dic.setdefault('sex','男')
      print(dic) #{'name':'张三','age'=20,'sex':'男'}
      
    • 方式一:pop  按键删除
      dic = {'name':'张三','age'=20}
      dic1 = dic.pop('age','没有此键') #当没有此键时,报出后一个参数为返回值
      print(dic1)   #{'name':'张三'}
      方式二:clear 清空
      dic = {'name':'张三','age'=20}
      dic.clear()
      print(dic)       #{}
      
      
    • 改 通过键赋值改

    • 方式一:通过键查询
      方式二:get方法,同上述pop方法,有返回值
      方式三:keys(所有键)  values(所有值)  items(所有键值对,元组形式)
      
  • 字典的嵌套

4、集合

  • set,{}
  • 容器型的数据类型,它要求里面的元素是不可变的数据,但是它本身是可变的数据类型,集合是无序的。
    • 集合的作用
      • 列表的去重
      • 关系测试 : 交集 , 并集, 差集
  • 集合的创建
set1 = set({1,2,3,'zhongguo','中国'})
set1 = {1,2,3,'zhongguo','中国'}
set1 = set()    #空集合
{}              #空字典
  • 集合的有效性:要求集合里的元素是不可变的

  • 集合的增删改查

    方式一:add方法
    set1 = {1,2,3,'zhongguo','中国'}
    set1.add('yy')   
    print(set1)      #{1,2,3,'zhongguo','中国','yy'}
    方式二:update方法  迭代着增加
    set1 = {1,2,3,'zhongguo','中国'}
    set1.update('china')
    print(set1)    #{1,2,3,'zhongguo','中国','c','h','i','n','a'}
    
    方式一:remove 方法   按照元素删除
    set1 = {1,2,3,'zhongguo','中国'}
    set1.remove('zhongguo')
    print(set1)      #{1,2,3,'中国'}
    方式二:pop方法   随机删除一个元素
    set1 = {1,2,3,'zhongguo','中国'}
    set1.pop()
    print(set1)  
    
    • 改:变相改值,先删除再新增
  • 交集 : & 或者 intersection

  • 并集: | 或者 union

  • 差集: - 或者 difference

  • 反交集: ^ 或者symmetric_difference

5、二进制和十进制转化

#二进制转换为十进制
0001 1010
b=1 * 2**4 +1 * 2**3 + 0 * 2**2 + 1 * 2**1 + 0 * 2**0
print(b)         #26
#十进制转换为二进制
42//2= 0  
   21//2=1
     10//2=0
        5//2=1
          2//2=0
            1//2=1
#和2求余,余数倒序排列,转换为二进制为: 10 1010,前面补足到8位,0010 1010

6、字符串常用操作方法

  • upper lower
    • upper : 字符串全部转换成大写
    • lower : 字符串全部变成小写
    s = 'ZHONGguo'
    s1 = s.upper()
    print(s1)    #ZHONGGUO
    s = 'ZHONGguo'	
    s1 = s.lower()
    print(s1)    #zhongguo

应用:输入账号,密码,验证码不区分大小写

username = input('请输入用户名:')
password = input('请输入密码:')
code = 'AbCd'
print(code)
you_code = input('请输入验证码:')
if you_code.upper() == code.upper():
    if username == '张三' and password == '123456':
        print('登录成功')
    else:
        print('用户名或密码不匹配')
 else:
    print('验证码错误')
  • startswith 判断开头 endswith 判断结尾

    s= 'zhongguo'
    print(s.startswith('z'))   #判断串s是否以z开头,输出Ture
    print(s.startswith('zhong')))   #判断串s是否以zhong开头。输出为Ture
    print(s.startswith('o',2,7)  #判断串s中的'onggo'是否以0开头。输出为Ture
    
  • replace 修改字符串

s = '张三很厉害,张三很白,张三很可爱'
s1 = s.replace('张三','李四')    #后面跟count表示替换次数,省略表示全部替换
print(s1)  #李四很厉害,李四很白,李四很可爱
  • strip :去除空白:空格,\t ,\n #也可以去除指定字符

  • split :将字符串切割成列表 #默认按照空格分隔,也可以指定分隔

  • join :

  • count: 计算字符串中某个字符出现的次数

  • format : 格式化输出

  • is系列

    • isalnum ; #判断字符串是否由字母或数字组成
    • isalpha : #判断字符串是否只由字母组成
    • isdecimal : #判断字符串是否只由十进制组成
posted @ 2020-05-06 23:50  阿哈a  阅读(111)  评论(0)    收藏  举报