zoukankan      html  css  js  c++  java
  • [ Python ] 基本数据类型及属性(下篇)

    1. 基本数据类型

         (1) list 列表
         (2) tuple 元组
         (3) dict 字典
         (4) set 集合

    2. list 列表方法

     Python 内置的一种数据类型,list是一种有序的集合,可以随时添加删除其中的元素。

    ( 1 ) append(self, p_object)
    原列表后追加内容

    list1 = ['a', 'b', 'c', 'd', 1, 2, 3]
    list1.append('good')
    print(list1)
    
    # 执行结果:
    # ['a', 'b', 'c', 'd', 1, 2, 3, 'good']
    

    (2)clear()
    清空列表所有元素

    list1 = ['a', 'b', 'c', 'd', 1, 2, 3]
    list1.clear()
    print(list1)
    
    # 执行结果:
    # []
    

    (3)copy()
    列表拷贝(浅拷贝)

    list1 = ['a', 'b', 'c', 'd', 1, 2, 3]
    list2 = list1.copy()
    print(list2)
    
    # 执行结果:
    # ['a', 'b', 'c', 'd', 1, 2, 3]
    

    (4)count(self, value)
    计算 value 出现的次数

    list1 = ['hkey', 'b', 'c', 'hkey', 1, 2, 3]
    print(list1.count('hkey'))
    
    # 执行结果:
    # 2
    

    (5)extend(self,iterable)
    将可迭代对象通过for循环添加到当前列表中。
    iterable:可迭代对象,能用于 for 循环的数据都是可迭代对象

    list1 = ['hkey', 'b', 'c', 'hkey', 1, 2, 3]
    list2 = ['hello', 'world']
    
    list1.extend(list2)
    print(list1)
    
    # 执行结果:
    # ['hkey', 'b', 'c', 'hkey', 1, 2, 3, 'hello', 'world']
    

    extend 和 append 进行比较:
    extend是通过 for 循环把可迭代对象,一个一个append添加到当前列表的
    append是将元素一次性的全部追加到元素末尾

    (6)index(self, value, start=None, stop=None)
    获取元素的索引位置

    list1 = ['hkey', 'b', 'c', 'hkey', 1, 2, 3]
    print(list1.index('hkey'))
    # 从左到右查找元素,第一个出现的位置
    # 执行结果:
    # 0
    

    (7)insert(self, index, p_object)
    通过索引插入元素到列表对应位置

    list1 = ['a', 'b', 'c', 'd', 1, 2, 3]
    
    list1.insert(1, 'hello')
    print(list1)
    
    # 执行结果:
    # ['a', 'hello', 'b', 'c', 'd', 1, 2, 3]
    

    (8)pop(self, index=None)
    删除列表对应索引的元素

    list1 = ['a', 'b', 'c', 'd', 1, 2, 3]
    list1.pop(2)
    print(list1)
    
    # 执行结果:
    # ['a', 'b', 'd', 1, 2, 3]
    

    (9)remove(self, value)
    删除列表中对应的元素

    list1 = ['a', 'b', 'c', 'd', 1, 2, 3]
    list1.remove('c')
    print(list1)
    
    # 执行结果:
    # ['a', 'b', 'd', 1, 2, 3]
    

    (10)reverse
    反转列表元素

    list1 = ['a', 'b', 'c', 'd', 1, 2, 3]
    list1.reverse()
    print(list1)
    
    # 执行结果:
    # [3, 2, 1, 'd', 'c', 'b', 'a']
    

    (11)sort(self, key=None, reverse=False)
    列表中全部为数字或者字符串的时候,进行排序

    list1 = [1, 3, 2]
    list2 = ['d', 'z', 'a']
    list1.sort()
    list2.sort()
    print('list1:', list1)
    print('list2:', list2)
    
    # 执行结果:
    # list1: [1, 2, 3]
    # list2: ['a', 'd', 'z']
    

    3. tuple(元组)

    元组也是有序序列,但是tuple一旦初始化就不能修改。
    元组示例:(1, 2, 3, 'a', 'b', 'c'),元组只有 2 个方法

     (1)count
    计算 value 出现的次数

    list1 = ('a', 'b', 'c', 'd', 1, 2, 3, 'd')
    list2 = list1.count('d')
    print(list2)
    
    # 执行结果:
    # 2
    

    (2)index
    获取元素的索引位置

    list1 = ('a', 'b', 'c', 'd', 1, 2, 3, 'd')
    print(list1.index('c'))
    
    # 执行结果:
    # 2
    

     4. dict 字典

     Python 内置字典类型,使用 键 - 值(key-value)存储,具有极快的查找速度。

    (1)clear()
    清空所有字典数据

    dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'}
    dict1.clear()
    print(dict1)
    
    # 执行结果:
    # {}
    

    (2)copy()
    拷贝字典所有数据

    dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'}
    dict2 = dict1.copy()
    print(dict2)
    
    # 执行结果:
    # {'age': 20, 'gender': '男', 'name': 'hkey'}
    

    (3)fromkeys(*args,**kwargs)
    args作为key依次循环,kwargs作为每个key的值
    fromkeys 是 dict 类的静态方法,调用:dict.fromkeys

    dict2 = dict.fromkeys(['a', 'b', 'c'], ['hello', 'world'])
    print(dict2)
    
    # 执行结果:
    # {'a': ['hello', 'world'], 'c': ['hello', 'world'], 'b': ['hello', 'world']}
    

    (4)get(self, k, d=None)
    通过 key 获取字典中对应的 value

    dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'}
    print(dict1.get('age'))
    # 如果 get 没有找到对应的 key 则返回 None
    # 执行结果:
    # 20
    

     (5)items
    分别获取字典的 key 和 value

    dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'}
    for k, v in dict1.items():
            print(k, v)
    
    # 执行结果:
    # age 20
    # gender 男
    # name hkey
    

    (6)keys
    获取字典中所有的 key

    dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'}
    for k in dict1.keys():
            print(k)
            
    # 执行结果:
    # gender
    # age
    # name
    

     (7)values
    获取字典中所有的 value

    dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'}
    for v in dict1.values():
            print(v)
    
    # 执行结果:
    # 20
    # 男
    # hkey
    

    (8)pop(self, k, d=None)
    删除 key 对应的 键值对

    dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'}
    
    dict1.pop('name')
    print(dict1)
    
    # 执行结果:
    # {'age': 20, 'gender': '男'}
    

    (9)popitem
    随机删除字典中的键值对
    通过变量可以获取被删除的键值对

    dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'}
    dict2 = dict1.popitem()
    print('随机删除后的dict1', dict1)
    print('获取随机删除的键值对:', dict2)
    
    # 执行结果:
    # 随机删除后的dict1 {'gender': '男', 'name': 'hkey'}
    # 获取随机删除的键值对:('age',20)
    

    (10)setdefault(self, k, d=None)
    已存在,不设置,获取当前key对应的值
    不存在,设置,获取当前key对应的值

    dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'}
    d1 = dict1.setdefault('name1', 'xiaofei')
    print(d1)
    
    # 执行结果:
    # xiaofei
    

     (11)update(self ,E=None, **F)
    修改字典中对应的键值对

    dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'}
    dict1.update({'name': 'xiaofei'})
    dict1.update(age=19)
    print(dict1)
    # 执行结果:
    # {'gender': '男', 'age': 19, 'name': 'xiaofei'}
    

    总结:

         字典有以下几个特点:
        (1)字典的 value 可以是任何值
        (2)布尔值(1, 0)、列表、字典不能作为字典的key
        (3)字典是无序的
        (4)字典支持 del 删除

  • 相关阅读:
    inkscape
    关于英语写作词源方面的。。
    ubuntu上配tensorflow
    腾讯面试指南
    使用traceview进行Android性能测试(转)
    Android CTS 测试总结【转】
    JAVA和C++区别
    接口继承
    vim实现全选功能
    C++异常机制的实现方式和开销分析
  • 原文地址:https://www.cnblogs.com/hukey/p/9233173.html
Copyright © 2011-2022 走看看