Python列表详解

列表的特征

  • 列表使用中括号括起来;
  • 列表是有序的,列表的元素可以被修改;
  • 列表在内存中实际上是一个链形的存储结构,上一个内容里指向了下一个内容的内存地址;
  • 列表的中括号内的内容以逗号分隔,每两个逗号间是一个整体;
  • 内容可以是数字、字符串、列表、布尔值,所有的类都可以放进列表,列表是一个集合;
  • 列表中可以嵌套列表,列表可以无限嵌套列表;
  • 列表可以使用索引取值;

    例一:print(test[3:6])  # 取test列表里的范围X(3 <= X < 6)的值;     

    例二:print(test[3])   #取test列表里的第三个索引的值;

    例三:嵌套索引取值:找到列表中子列表的子列表的数字

       ha = [1,2,3,"hello",[1,[33,55],5],"good"]

       v = ha[4][1][0]

       print(v)

  • 列表可以支持for循环;
  • 列表可以支持while循环;
  • 列表元素可以被修改;

    例一:修改某个内容

    ha = [1,2,3,"hello",[1,3,5],"good"]

    ha[1] = 5

    print(ha)

    例二:通过切片的方式修改某几个内容

    ha = [1,2,3,"hello",[1,3,5],"good"]

    ha[1:3] = 9,["thanks","you"]

    print(ha)

    例三:删除某个内容

    ha = [1,2,3,"hello",[1,3,5],"good"]

    del ha[1]

    print(ha)

    例四:通过切换方式删除某几个内容

    ha = [1,2,3,"hello",[1,3,5],"good"]

    del ha[1:3]

    print(ha)

    

  • 列表支持in操作  

    ha = [1,2,3,"hello",[1,[33,55],5],"good"]

    for x in ha

    print(x)    

字符串和列表的互相转换

  • 对于字符串想转换列表,可以直接转换(内部使用了for循环);

  haha = "sjdfjskldfjsdfjlsdjfksdfwperiuowep"

  haha = list(haha)

  print(haha)

  • 对于既有数字又有字符串的列表要转换成字符串,需要自己写for循环;

ha = [1,2,3,"hello",[1,[33,55],5],"good"]

s = ""

for x in ha

  s = s + str(x)

print(s)

  • 对于只有字符串的列表要转换成字符串,可以使用简单办法,通过join方法;

    ha = ["1","2","3","hello","good"]

    s = "".join(ha)

    print(s)

List功能详解

  • 需求一:在原值后追加(参数是一个整体,将追加的参数整体增加到原值后)

test = [11,22,33,44]

test.append(5)

print(test)

  • 需求二:清空列表

test = [11,22,33,44]

test.clear()

print(test)

  • 需求三:拷贝--浅拷贝

test = [11,22,33,44]

v = test.copy()

print(v)

  • 需求四:计算列表中某一个元素出现的次数

test = [11,22,33,44]

v = test.count(22)

print(v)

  • 需求五:扩展原来的列表(参数是可迭代对象,依次循环每一个参数增加到原列表)

test = [11,22,33,44]

v = test.extend([6565,"加油"])

print(v)

  • 需求六:根据值去找值的索引,从左往右找,找到以后就停止继续寻找,参数中的寻找范围定义的是一个左开右闭的区间;

test = [11,22,33,22,44]

v = test.index(22,3,4)

print(v)

  • 需求七:在指定的索引位置插入元素

test = [11,22,33,44]

test.insert(0,99)

print(test)

  • 需求八:删除某个值,并获取当前值(默认情况删除最后一个元素),也可根据索引删除某个值

test = [11,22,33,44]

v = test.pop()

print(test)

print(v)

test = [11,22,33,44]

v = test.pop(1)

print(test)

print(v)

  • 需求九:删除列表中的指定值,从左往右删除,遇到可以删除对象后停止删除

test = [11,22,33,22,44]

test.remove(22)

print(test)

其他的删除方法还有:pop  remove  del  

  • 需求十:将当前列表进行反转

test = [11,22,33,22,44]

test.reverse()

print(test)

  • 需求十一:排序,默认从小到大,有reverse的时候是从大到小

test = [66,88,11,22,33,22,]

test.sort()

print(test)

test = [66,88,11,22,33,22,]

test.sort(reverse=True)

print(test)

原文地址:https://www.cnblogs.com/wangzengyi/p/12082245.html