zoukankan      html  css  js  c++  java
  • Python python 五种数据类型--列表

    # 列表的定义
    var1 = []
    var2 = list()
    print(type(var1)) #<class 'list'>
    print(type(var2)) #<class 'list'>
    
    # 列表可以容纳任何的对象,可变类型,直接赋值就行
    var3 = [1,'a',['a',2],(1,2),{'a':19,'b':20}]
    print(var3)
    
    # 列表方法
    
    var1.append('Hello') # 增加
    var1.append('World')
    var1.append('Hello')
    var1.append('Python')
    print(var1) #['Hello', 'World', 'Hello', 'Python']
    
    length = len(var1) # 长度
    print(length) #4
    
    res1 = var1.index('Hello') #寻找指定元素下列表里面的下标,若没有,会报错,
    print(res1) #0
    
    res2 = var1.index('Hello',1) #指定从第几个下标开始
    print(res2) #2
    
    res3 = var1.count('Hello') # 统计指定元素的个数
    print(res3) #2
    
    res4 = var1.pop(); # 删除最后的一个元素,pop 和栈的用法相似
    print(res4)  # 返回删除的元素
    print(var1)  # ['Hello', 'World', 'Hello']
    
    res5 = var1.pop(0) # 删除指定下标元素
    print(res5)  # 返回删除的元素
    print(var1)  #['World', 'Hello']
    
    res6 = var1.remove('World') # 删除指定元素,默认是第一个
    print(res6) # None 没有返回值
    print(var1) # ['Hello']
    
    res7 = var1.insert(0,'World') # 插入到指定位置
    print(res7) # None 没有返回值
    print(var1) #['Hello', 'World']
    
    var1.append('Abandon')
    res8 =var1.sort();# 排序
    print(res8) # None  没有返回值
    print(var1) # ['Abandon', 'Hello', 'World']
    
    res9 = var1.sort(reverse=True) #反向排序
    print(res9) #None
    print(var1) #['World', 'Hello', 'Abandon']
    
    
    # 简单的将一个列表赋值给另一个变量,实际指向用一个内存地址,改变一个,另一个也会改变
    print(var1)
    print(id(var1)) #2277300412104
    varc1 = var1
    print(id(varc1)) #2277300412104
    varc1.pop();
    print(varc1)#['World', 'Hello']
    print(var1)#['World', 'Hello']
    
    #copy  shadow copy,一个变,另一个不会变,但是如果列表里面还会有列表,里面的数据一个改变另一个也会改变
    varCopy = var1.copy()
    print(id(varCopy))#2237726431432
    print(id(var1))#2237726432968
    varCopy.pop()
    var1.copy()
    print(varCopy) #['World']
    print(var1) #['World', 'Hello']
    
    varr = [[1,2],['a','b']]
    varrCopy = varr.copy()
    varrCopy[0][1]=3
    print(varrCopy) #[[1, 3], ['a', 'b']]
    print(varr)#[[1, 3], ['a', 'b']]
    
    import copy
    # deep copy
    varrdeep = copy.deepcopy(varr)
    print(varr) #[[1, 3], ['a', 'b']]
    print(varrdeep) #[[1, 3], ['a', 'b']]
    
    varrdeep[0][1] = 2
    print(varr) #[[1, 3], ['a', 'b']]
    print(varrdeep) #[[1, 2], ['a', 'b']]
    
    # clear 清除列表里面的元素
    var1.clear()
    print(var1)
    
    var1.append('Hello World')
    rest1 = var1*2
    print(rest1) #['Hello World', 'Hello World']
    
    # 一个列表添加到另一个列表上
    var1.extend(rest1)
    print(var1) #['Hello World', 'Hello World', 'Hello World']
    
    rest2 = var1 + rest1
    print(rest2) #['Hello World', 'Hello World', 'Hello World', 'Hello World', 'Hello World']
  • 相关阅读:
    【题解】 「APIO2019」桥梁 操作分块+带权并查集 LOJ3145
    csp-s模拟测试42「世界线·时间机器·密码」
    csp-s模拟测试41「夜莺与玫瑰·玫瑰花精·影子」
    NOIP模拟测试38「金·斯诺·赤」
    NOIP模拟测试「简单的区间·简单的玄学·简单的填数·简单的序列」
    NOIP模拟测试34「次芝麻·呵呵呵·长寿花」
    理科卷math·english·chinese·biology·chemistry·physics
    NOIP模拟测试28「阴阳·虎·山洞」
    NOIP模拟测试30「return·one·magic」
    NOIP模拟测试29「爬山·学数数·七十和十七」
  • 原文地址:https://www.cnblogs.com/pickKnow/p/10876123.html
Copyright © 2011-2022 走看看