zoukankan      html  css  js  c++  java
  • python0.5-----列表

    列表:

    本质:是一种有序(各元素间有前后关系,用下标表示)的'集合'

    作用:可以创建很多很多变量同时只需要起一个名字

    注意:列表在内存中属于可改变的类型哦。

     

    创建列表:

    格式:列表名=[列表选项1,列表选项2,列表选项3,.....,列表选项n]

    创建一个空列表:list=[]

    创建一个带元素的列表:list2=[18,19,20,21]

    列表元素可以是不同类型:list3=[1,1.2,None,True,'fads',[1,2,3],(1,2,3),{1,2,3},{1:2,3:4}]

     

    列表元素的访问:(注意不要越界)

    取值:

    格式:列表名[下标]  例如:print(list3[8]) 输出:{1:2,3:4}

    替换:

    列表名[下标]=新的值 例如:list3[8]={3.2:31,48320:23421} list3[8]就改变了

    列表的组合:

    list1=[1,2,3]

    list2=[4,5,6]

    list3=list1+list2

    list3现在就是[1,2,3,4,5,6]

    列表的重复:

    list1=[1,2,3]

    list1*3------>>>>[1,2,3,1,2,3,1,2,3]

    判断元素是否在列表中:

    list1=[1,2,3]

    3 in list1----->>>>>返回True

    4 in list1----->>>>>返回False

    列表截取:

    list1=[1,2,3,4,5,6,7,8]

    list1[start:end] 将list1里面[start,end)间的元素截取下来

    二维列表:

    list1=[[1,2,3,4],[5,6,7,8,],[9,8,7,6]]

    列表的遍历:

    list1=[1,2,3]

    for word in list1:

      print(word)

    直接遍历列表list1优点是简洁,缺点是不能通过index访问列表的指定元素,方法很僵硬。

    for index in range(len(list1)):

      print(list1[index])

    通过index下标遍历list1缺点是访问方式稍显复杂,优点是可以指定操作的元素范围,很灵活。

    列表方法:

    增:

    list1.append(value) :在列表list1的末尾增加一个新的元素,该元素value可以是任何类型

    list1.extend(value) :在列表list1的末尾一次性增加另一个列表的多个值,该元素value只能是列表类型

    list1.insert(index,value):在列表list1的index处添加一个元素,不覆盖原数据,原数据向后顺延,新添加的元素value可以是任何类型

    删:

    list1.pop(index):移除列表list1指定index下标处的元素,并返回该删掉的元素,默认index=-1,表示移除最后一个元素

    list1.remove(value):移除列表list1中的某个值value第一个匹配的元素,记住,只移除一个元素。

    list1.clear():清除列表list1中的所有数据

    改:

    list1.reverse():倒序

    list1.sort:排序

    list(元组值):将元组的值强制转换成list列表类型,前后的id相同

    查:

    list1.index(value[,start,stop]):从列表list1的[start,stop)的范围中找到某个值value第一个匹配到的下标index1,并返回该下标index1

    list1.count(value):查找list1中value值出现的次数,并返回该次数

    len(list1):查找list1中有多少个元素并返回

    max(list1):查找list1中的最大值并返回

    min(list1):查找list1中的最小值并返回

    其他:

    list2=list1.copy():将list1的内存存储的内容拷贝到list2中。

    拷贝:

    拷贝分为浅拷贝和深拷贝,在解释之前要引入内存的两个区域---堆区域和栈区域。

    1堆区域:程序员手动开辟,手动释放,目前回收机制可以代替手动。

    2栈区域:程序开始,系统自动开辟内存空间只给该程序使用,程序结束,自动释放该内存空间。

    浅拷贝:list1=[1,2,3]     list2=list1         [1,2,3]存放在堆区域。list1,list2均是对[1,2,3]的引用,id相同,存放在栈区域。

    深拷贝:list2=list1.copy()  list1引用的列表和list2引用的列表均存放在堆区域,list1和list2存放在栈区域,它们的id相同

    list类型数据存放在堆区域,但是该类数据的引用存在于栈区域

  • 相关阅读:
    python datetime unix时间戳以及字符串时间戳转换
    Linux下Shell的for循环语句
    分布式学习最佳实践:从分布式系统的特征开始(附思维导图)
    什么是分布式系统,如何学习分布式系统
    Spring Boot 之发送邮件
    v8是怎么实现更快的 await ?深入理解 await 的运行机制
    分布式=高并发=多线程
    半个月使用rust语言的体验
    Enter Query Mode Search Tricks Using Enter_Query Built-in in Oracle Forms
    How to Log Users Login and Logout Details Through Oracle Forms
  • 原文地址:https://www.cnblogs.com/yulianggo/p/9191380.html
Copyright © 2011-2022 走看看