zoukankan      html  css  js  c++  java
  • python3常用容器操作

    list

    1. 创建

    name_list = []

    2. 访问

    name_list[index]

    3. 添加

    name_list.append() #在列表末尾添加元素
    name_list.insert(index, element) #在指定位置添加元素
    name_list.extend(list1) #在name_list中添加list1的所有元素
    new_list = name_list + list1 #将name_list和list1的元素拼接起来,返回拼接后的列表
    

    4. 删除

    del name_list[index] #删除指定下标位置的元素
    name_list.remove(element) #删除指定元素element
    name_list.pop(index) #删除指定下标index处的元素,缺省则删除最最后一个元素
    

    5. 遍历

    #方法一
    for item in name_list:
        print(item) 
    
    #方法二
    for i in range(len(name_list)):
        print(name_list[i]) 
    
    #方法三
    for i, item in enumerate(name_list):
        print(i, item)
    
    #方式四
    for item in iter(name_list)
        print(item)
    

    6. 切片

    new_list = name_list[start:end:step] #start默认0,end默认末尾,step默认1

    7. 排序

    name_list.sort(reverse = True)


    tuple

    1. 创建

    name_tuple = ()
    name_tuple = (element, )#只有一个元素时元素后面要多加一个逗号
    

    2. 访问、遍历

    同list, 但元组数据不可修改,故无添加、修改和删除操作


    dictionary

    1. 创建

    name_dic = {}

    2. 访问

    value = name_dic[key] #若key对应的value不存在会报错KeyError
    value = name_dic.get(key, default_value) #若key不存在不会报错,返回传入的默认值default_value,没有指定则返回None
    

    3. 添加、修改

    name_dic[key] = value #在字典里添加键值对key-value,存在则修改

    4. 删除

    del name_dic[key] #删除键为key的键值对

    5. 获取键值对集合

    name_dic.keys()
    name_dic.values()
    name_dic.items()
    

    set

    1. 创建

    name_set = set()

    2. 添加

    name_set.add(element) #加入单个元素
    name_set.update(sequence) #将序列sequence中的每一个元素加入集合并去重,序列可以是列表、元组、字典和集合
    

    3.删除

    name_set.remove(element) #删除指定元素element,不存在则报错
    name_set.discard(element) #删除指定元素element,不存在不会报错
    value = name_set.pop() #随机删除一个元素并返回
    

    4. 交、并、差

    set3 = set1 & set2 #交
    set3 = set1.intersection(set2) #交
    set4 = set1 | set2 #并
    set4 = set1.union(set2) #并
    set5 = set1- set2 #差
    set4 = set1.difference(set2) #差
    
  • 相关阅读:
    【CH6801】棋盘覆盖
    【模板】二分图匹配
    【POJ3683】Priest John's Busiest Day
    【Asia Yokohama Regional Contest 2018】Arithmetic Progressions
    【POJ2230】Watchcow
    【CF263D】Cycle in Graph
    【CF131D】Subway
    【洛谷P2709】小B的询问
    【模板】2-SAT
    【模板】矩阵快速幂
  • 原文地址:https://www.cnblogs.com/lzping/p/12441891.html
Copyright © 2011-2022 走看看