python-常见数据类型及其方法

常见数据类型及其方法


1.None:

表示空(无任何功能,专门用于提供空值)

2.整形(int)

3.布尔类型(bool)

        只有两个结果:True/False:
        0/''/[]/()/{}/set() 转布尔时为False,其余结果都为Ture

 

4.字符串(str) (不可变类型,不可修改/删除)


 

  1. 特有方法:

    • upper:转大写 lower:转小写

      name = 'alex'
      new_name = name.upper()
      print(new_name)   #ALEX
    • isdigit:判断是否是数字

      content = input('请输入内容:')
      flag = content.isdigit()
      print(flag)  #结果为True/False
    • strip/lstrip/rstrip: 去除空白,也可以去除换行符(\n)

      name = '  alex,xiao   '
      new_name = name.strip()
      print(new_name) 

       

    • replace:替换

      content = '去你大爷的'
      con = content.replace('大爷','**')  #当替换的内容有多个时,后面可以加入数字,代表替换前几个内容
      print(con)   # 去你**的

       

    • split:切割 ,得到的是一个列表

      content = '12|22,33|44'
      con = content.split('|')
      print(con)  #['12', '22,33', '44']

       

    • format:字符串格式化

      name = '我是{0},今年{1}'.format('肖文鑫',18,)
      print(name)

       

    • startswith:判断以什么开头 endswith:判断以什么结尾

      name = 'alex'
      flag = name.startswith('al')
      print(flag)   #结果为Ture/False

       

    • encode:转换编码

      name = '张三' # 解释器读取到内存后,按照unicode编码存储:8个字节。
      v1 = name.encode('utf-8')
      print(v1)  # 转换成了6个字节

       

    • join: 循环某个元素,并以某个东西连接起来

      name = 'Alex'
      new_name = '-'.join(name)  #注意:join连接的必须的字符串,如果不是需要先转化为字符串再进行连接
      print(new-name)  # A-l-e-x

       

  2. 公共方法:

    • len 取长

      name = 'Alex'
      print(len(name))  # 4

       

    • 索引取值 [ ] (从[0]开始取值)

      name = 'Alex'
      print(name[0])   #'A'

       

    • 切片 [ : ] (前取后不取)

      name = 'Alex'
      name[0:2]  #'Al'
      name[-3:-1] #'le'

       

    • 步长 [ : : ] (取不到中间)

      v ='123456'
      v[ : : 2]  #135
      v[-1:0:-2]  #642

       

    • for循环

       

5.列表(list) (可变类型,不需要新的变量去接收)


 

  1. 独有方法

    • append:在列表末追加元素

      v = [1,2,3,4,5]
      v.append(6)
      print(v)   #[1,2,3,4,5,6]

       

    • insert:在列表指定索引值前面加入元素

      v= [1,2,3,4]
      v.insert(0,6)
      print(v)

       

    • extend: 逐个加入

      v = [1,2,3]
      name = 'Alex'
      v.extend(name)
      print(v)   #[1,2,3,A,l,e,x]

       

    • remove:删除指定元素

      v = [123,23,45]
      v.remove(23)
      print(v)   #[123,45]

       

    • pop: 根据索引位置进行删除

      v = [123,23,45]
      v.pop(0)    #pop()默认删除最后一个元素
      print(v)    #[23,45]

       

    • del ;删除

      v = [123,23,45]
      del v[0]
      print(v)   #[23,45]

       

    • 修改

      v = [123,23,45]
      v[0] = 11
      print(v)  #[11,23,45]

       

    • reverse :反转

      v = [123,23,45]
      v.reverse()
      print(v)  #[45,23,123]

       

    • sort: 排序

      v= [2,6,4,8,1]
      v.sort(reverse=True)  #从大到小排列
      v.sort(reverse=False)  #从小到大排列
      v.sort()   #默认是从小到大排列
      print(v)

       

  2. 公共方法:

    • len 取长

      v= [2,6,4,8,1]
      len(v)   # 5

       

    • 索引 [ ] 从0开始取值

      v= [2,6,4,8,1]
      v[0]   #[2]

       

    • 切片[ : ]

      v= [2,6,4,8,1]
      v[0:3]    #[2,6,4]
      v[-3:-1]  #[4,8]

       

    • 步长 (取不到中间)

      v= [2,6,4,8,1]
      v[1:-1:2]   # [6, 8]
      v[-1:0:-1]  # [1,8,4,6]

       

    • for 循环

6.元组(touple) (不可变类型,不可修改/删除)


  1. 无特有方法

  2. 公共方法

  • len 取长

    a = (1,2,3)
    len(a)   # 3

     

  • 索引 [ ] 从0开始取值

    a = (1,2,3)
    a[1]   #  [2]

     

  • 切片[ : ]从0开始取值,前取后不取

    a = (1,2,3,4)
    a[o:3]    #(1,2,3)

     

  • 步长 (取不到中间)

    a = (1,2,3,4)
    a[::1]   #(1, 2, 3, 4)

     

  • for 循环

7.字典(dict) 无序


 

  1. 格式

    data = {键:值,键:值,键:值,键:值,键:值,键:值,}    #键值对
    嵌套中:
        #值可以用所以东西表示
        #键不能用列表/字典/集合(等可变类型)表示,其他都可以

     

  2. 特有方法:

    • keys 取所有的键

      data = {11:22,33:44,55:66}
      for k in data.keys():
          print(k)    #11,33,55

       

    • values 取所有的值

      data = {11:22,33:44,55:66}
      for v in data.values():
          print(v)  # 22,44,66

       

    • items 取所有的键值对

      data = {11:22,33:44,55:66}
      for k,v in data.items():
          print(k,v)
          
       注意:
          a,b,c = [1,2,3]
          print(a,b,c) #a=1,b=2,c=3

       

    • 取值

      data = {11:22,33:44,55:66}
      print(data[11])   #22

       

    • 修改 (存在就修改/不存在就增加)

      data = {11:22,33:44,55:66}
      data[11] = 99
      print(data)  #  {11: 99, 33: 44, 55: 66}
      data[77] = 88
      print(data)  #  {11: 22, 33: 44, 55: 66, 77: 88}

       

    • 删除 (del)

      data = {11:22,33:44,55:66}
      del data[11]  #删除了一个键值对
      print(data)  #  {33:44,55:6}

       

    • pop 删除

      info = {'k1':'v1','k2':'v2'}
      result = info.pop('k2')     #v2    
      print(info,result)    #{'k1':'v1'} v2

       

    • get取值

      info = {'k1':'v1','k2':'v2'}
      v1 = info['k1']        # v1
      v2 = info.get('k1')        # v1  (常用此方法)
      v3 = info.get('k111',666)    # 666 (不在字典范围内则打印后面的内容)
      v4 = info.get('k111')    # None

       

    • update 批量添加

      info = {'k1':'v1','k2':'v2'}   #不存在就添加,存在就覆盖
      info.update({'k3':'v3','k4':'v4','k2':666})
      print(info)

       

  3. 公共方法:

    • len

      data = {11:22,33:44,55:66}
      print(len(data))  #  3

       

    • 无切片/步长

    • for循环

8.集合 (set) 无序/无重复


 

  1. 空集合: set()

  2. 特有方法:

    • 交集 (intersection)

      a = {1,2,3,4,5,}
      b = {2,4,6,7}
      c = a.intersection(b)
      print(c)   #  {2, 4}

       

    • 并集(union)

      a = {1,2,3,4,5,}
      b = {2,4,6,7}
      c = a.union(b)
      print(c)   #  {1, 2, 3, 4, 5, 6, 7}

       

    • 差集(difference)

      a = {1,2,3,4,5}
      b = {2,4,6,7}
      c = a.difference(b)   #{1,3,5}
      c = b.difference(a)   #{6,7}

       

    • 单个添加 ;add

      a = {1,2,3,4,5}
      a.add(67)
      print(a)  #{1, 2, 3, 4, 5, 67}

       

    • 批量添加: update

      v = {1,2,3,4,}
      v.update({5,6,7})    #后面的只能是集合/字典/元组/列表,不能是单独的几个元素
      print(v)  #{1,2,3,4,5,6,7}

       

    • 删除: discard

      v = {1,2,45}
      v.discard(45)
      print(v)     #{1,2}

       

  3. 公共方法:

    • 无切片/索引/步长

    • len

    • for循环

  • 注意

    #嵌套时
        1. 列表/字典/集合  不能作为集合里面的元素
        2. 列表/字典/集合  不能作为字典里面的key

     

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2019-04-07 09:54  未来&你好  阅读(760)  评论(0编辑  收藏  举报