zoukankan      html  css  js  c++  java
  • 数据类型--列表

    列表概念

    列表又称:list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目。
    List(列表) 是 Python 中使用最频繁的数据类型。列表可以完成大多数集合类的数据结构实现。
    列表用 “ [  ] " 标识。是python最通用的复合数据类型,它支持字符,数字,字符串甚至可以包含列表(所谓嵌套)。
    列表中的值得分割,也可以用到变量[头下标:尾下标],又称切片。
    它可以截取相应的列表,从左到右索引默认0开始的,从右到左索引默认-1开始。
    下标可以为空表示取到头或尾。
    加号(+)是列表连接运算符,星号(*)是重复操作。

    要点

    列表是可变类型的数据。

    列表的组成:用[]表示列表,包含了多个以逗号分隔开的数字,或者字符串。

    列表与元祖的区别:操作基本一样,唯一区别就是元祖值不可变更。

    例如:

    1 list1=['Simon','David','Clotho','张三']
    2 list2=[1,2,3,4,5]
    3 list3=["str1","str2","str3","str4","str5"]

    列表的用法

    基本操作:

    索引
    切片
    追加
    删除
    长度
    切片
    循环
    包含

     1 list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
     2 tinylist = [123, 'john']
     3 
     4 print(list) # 输出完整列表
     5 print(list[0]) # 输出列表的第一个元素
     6 print(list[1:3]) # 输出第二个至第三个的元素
     7 print(list[2:]) # 输出从第三个开始至列表末尾的所有元素
     8 print(tinylist * 2) # 输出列表两次
     9 print(list + tinylist) # 打印组合的列表
    10 
    11 输出结果:
    12 ['abcd', 786, 2.23, 'john', 70.2]
    13 abcd
    14 [786, 2.23]
    15 [2.23, 'john', 70.2]
    16 [123, 'john', 123, 'john']
    17 ['abcd', 786, 2.23, 'john', 70.2, 123, 'john']

    列表的其他参数

      1 class list(object):
      2     """
      3     list() -> new empty list
      4     list(iterable) -> new list initialized from iterable's items
      5     """
      6     def append(self, p_object): # real signature unknown; restored from __doc__
      7         """ L.append(object) -- append object to end """
      8         pass
      9 
     10     def count(self, value): # real signature unknown; restored from __doc__
     11         """ L.count(value) -> integer -- return number of occurrences of value """
     12         return 0
     13 
     14     def extend(self, iterable): # real signature unknown; restored from __doc__
     15         """ L.extend(iterable) -- extend list by appending elements from the iterable """
     16         pass
     17 
     18     def index(self, value, start=None, stop=None): # real signature unknown; restored from __doc__
     19         """
     20         L.index(value, [start, [stop]]) -> integer -- return first index of value.
     21         Raises ValueError if the value is not present.
     22         """
     23         return 0
     24 
     25     def insert(self, index, p_object): # real signature unknown; restored from __doc__
     26         """ L.insert(index, object) -- insert object before index """
     27         pass
     28 
     29     def pop(self, index=None): # real signature unknown; restored from __doc__
     30         """
     31         L.pop([index]) -> item -- remove and return item at index (default last).
     32         Raises IndexError if list is empty or index is out of range.
     33         """
     34         pass
     35 
     36     def remove(self, value): # real signature unknown; restored from __doc__
     37         """
     38         L.remove(value) -- remove first occurrence of value.
     39         Raises ValueError if the value is not present.
     40         """
     41         pass
     42 
     43     def reverse(self): # real signature unknown; restored from __doc__
     44         """ L.reverse() -- reverse *IN PLACE* """
     45         pass
     46 
     47     def sort(self, cmp=None, key=None, reverse=False): # real signature unknown; restored from __doc__
     48         """
     49         L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*;
     50         cmp(x, y) -> -1, 0, 1
     51         """
     52         pass
     53 
     54     def __add__(self, y): # real signature unknown; restored from __doc__
     55         """ x.__add__(y) <==> x+y """
     56         pass
     57 
     58     def __contains__(self, y): # real signature unknown; restored from __doc__
     59         """ x.__contains__(y) <==> y in x """
     60         pass
     61 
     62     def __delitem__(self, y): # real signature unknown; restored from __doc__
     63         """ x.__delitem__(y) <==> del x[y] """
     64         pass
     65 
     66     def __delslice__(self, i, j): # real signature unknown; restored from __doc__
     67         """
     68         x.__delslice__(i, j) <==> del x[i:j]
     69                    
     70                    Use of negative indices is not supported.
     71         """
     72         pass
     73 
     74     def __eq__(self, y): # real signature unknown; restored from __doc__
     75         """ x.__eq__(y) <==> x==y """
     76         pass
     77 
     78     def __getattribute__(self, name): # real signature unknown; restored from __doc__
     79         """ x.__getattribute__('name') <==> x.name """
     80         pass
     81 
     82     def __getitem__(self, y): # real signature unknown; restored from __doc__
     83         """ x.__getitem__(y) <==> x[y] """
     84         pass
     85 
     86     def __getslice__(self, i, j): # real signature unknown; restored from __doc__
     87         """
     88         x.__getslice__(i, j) <==> x[i:j]
     89                    
     90                    Use of negative indices is not supported.
     91         """
     92         pass
     93 
     94     def __ge__(self, y): # real signature unknown; restored from __doc__
     95         """ x.__ge__(y) <==> x>=y """
     96         pass
     97 
     98     def __gt__(self, y): # real signature unknown; restored from __doc__
     99         """ x.__gt__(y) <==> x>y """
    100         pass
    101 
    102     def __iadd__(self, y): # real signature unknown; restored from __doc__
    103         """ x.__iadd__(y) <==> x+=y """
    104         pass
    105 
    106     def __imul__(self, y): # real signature unknown; restored from __doc__
    107         """ x.__imul__(y) <==> x*=y """
    108         pass
    109 
    110     def __init__(self, seq=()): # known special case of list.__init__
    111         """
    112         list() -> new empty list
    113         list(iterable) -> new list initialized from iterable's items
    114         # (copied from class doc)
    115         """
    116         pass
    117 
    118     def __iter__(self): # real signature unknown; restored from __doc__
    119         """ x.__iter__() <==> iter(x) """
    120         pass
    121 
    122     def __len__(self): # real signature unknown; restored from __doc__
    123         """ x.__len__() <==> len(x) """
    124         pass
    125 
    126     def __le__(self, y): # real signature unknown; restored from __doc__
    127         """ x.__le__(y) <==> x<=y """
    128         pass
    129 
    130     def __lt__(self, y): # real signature unknown; restored from __doc__
    131         """ x.__lt__(y) <==> x<y """
    132         pass
    133 
    134     def __mul__(self, n): # real signature unknown; restored from __doc__
    135         """ x.__mul__(n) <==> x*n """
    136         pass
    137 
    138     @staticmethod # known case of __new__
    139     def __new__(S, *more): # real signature unknown; restored from __doc__
    140         """ T.__new__(S, ...) -> a new object with type S, a subtype of T """
    141         pass
    142 
    143     def __ne__(self, y): # real signature unknown; restored from __doc__
    144         """ x.__ne__(y) <==> x!=y """
    145         pass
    146 
    147     def __repr__(self): # real signature unknown; restored from __doc__
    148         """ x.__repr__() <==> repr(x) """
    149         pass
    150 
    151     def __reversed__(self): # real signature unknown; restored from __doc__
    152         """ L.__reversed__() -- return a reverse iterator over the list """
    153         pass
    154 
    155     def __rmul__(self, n): # real signature unknown; restored from __doc__
    156         """ x.__rmul__(n) <==> n*x """
    157         pass
    158 
    159     def __setitem__(self, i, y): # real signature unknown; restored from __doc__
    160         """ x.__setitem__(i, y) <==> x[i]=y """
    161         pass
    162 
    163     def __setslice__(self, i, j, y): # real signature unknown; restored from __doc__
    164         """
    165         x.__setslice__(i, j, y) <==> x[i:j]=y
    166                    
    167                    Use  of negative indices is not supported.
    168         """
    169         pass
    170 
    171     def __sizeof__(self): # real signature unknown; restored from __doc__
    172         """ L.__sizeof__() -- size of L in memory, in bytes """
    173         pass
    174 
    175     __hash__ = None
    列表源代码

    列表的练习:

      1 names = ['a','b','c','d','e','f']
      2 ########切片########
      3 print(names[1:4])
      4 print(names[:4])
      5 print(names[2],names[4])
      6 print(names[1:3]) #起始位置包含本身,结束为不包含本身,需要往后+1位。
      7 print(names[0:3])
      8 print("取前单3个值",names[:3])
      9 print(names[-1]) #取最后一个
     10 print(names[-3:]) #取最后三个
     11 print(names[-2:]) #取最后两个
     12 
     13 显示结果:
     14 ['b', 'c', 'd']
     15 ['a', 'b', 'c', 'd']
     16 c e
     17 ['b', 'c']
     18 ['a', 'b', 'c']
     19 取前单3个值 ['a', 'b', 'c']
     20 f
     21 ['d', 'e', 'f']
     22 ['e', 'f']
     23 
     24 
     25 
     26 ########追加##########:
     27 print('='.center(50,'='))
     28 names.append("c")
     29 names.append("d")
     30 names.append("b")
     31 print(names)
     32 
     33 显示结果:
     34 ['a', 'b', 'c', 'd', 'e', 'f', 'c', 'd', 'b']
     35 
     36 
     37 
     38 
     39 ########指定位置插入########
     40 print('='.center(50,'='))
     41 names.insert(2,"w")
     42 names.insert(4,"k")
     43 names.insert(6,"w")
     44 names.insert(9,"r")
     45 names.insert(10,"w")
     46 names.insert(13,"w")
     47 print(names)
     48 
     49 显示结果:
     50 ['a', 'b', 'w', 'c', 'k', 'd', 'w', 'e', 'f', 'r', 'w', 'c', 'd', 'w', 'b']
     51 
     52 
     53 
     54 ########更改########
     55 print('='.center(50,'='))
     56 names[0] = 2
     57 names[3] = 3
     58 print(names)
     59 
     60 显示结果:
     61 [2, 'b', 'w', 3, 'k', 'd', 'w', 'e', 'f', 'r', 'w', 'c', 'd', 'w', 'b']
     62 
     63 
     64 
     65 ########删除########
     66 names.remove(2) #按照元素名称删除
     67 print(names)
     68 
     69 del names[2] #按照下标的位置删除
     70 print(names)
     71 
     72 names.pop() #从后往前删
     73 print(names)
     74 
     75 names.pop(7) #删除第7位的数值
     76 print(names)
     77 
     78 
     79 显示结果:
     80 ['b', 'w', 3, 'k', 'd', 'w', 'e', 'f', 'r', 'w', 'c', 'd', 'w', 'b']
     81 ['b', 'w', 'k', 'd', 'w', 'e', 'f', 'r', 'w', 'c', 'd', 'w', 'b']
     82 ['b', 'w', 'k', 'd', 'w', 'e', 'f', 'r', 'w', 'c', 'd', 'w']
     83 ['b', 'w', 'k', 'd', 'w', 'e', 'f', 'w', 'c', 'd', 'w']
     84 
     85 
     86 
     87 ########索引########
     88 print(names.index("w"))
     89 
     90 #表里的元素过多,但是只知道某一个元素的名字,然后通过元素的名字取索引的位置。
     91 print(names.index("d"))
     92 
     93 #已知上面的位置,找到相对应的名字。
     94 print(names[names.index("d")])
     95 
     96 ########查找重复元素的个数########
     97 print(names.count("w"))
     98 
     99 ########清理重复的字符########
    100 for i in range(names.count("w")):
    101     names.remove("w")
    102 else:
    103     print("循环删除",names)
    104 
    105 显示结果:
    106 3
    107 d
    108 循环删除 ['b', 'k', 'd', 'e', 'f', 'c', 'd']
    109 
    110 
    111 
    112 ########清理列表########
    113 names.clear()
    114 print(names)
    115 
    116 显示结果:
    117 []
    118 
    119 
    120 
    121 ########反转########
    122 names.reverse()
    123 print(names)
    124 
    125 ######排序########
    126 names.insert(3,"#")
    127 names.insert(8,"!@2@#")
    128 print(names)
    129 names.sort()
    130 print(names)
    131 
    132 
    133 显示结果:
    134 ['d', 'c', 'f', 'e', 'd', 'k', 'b']
    135 ['d', 'c', 'f', '#', 'e', 'd', 'k', 'b', '!@2@#']
    136 ['!@2@#', '#', 'b', 'c', 'd', 'd', 'e', 'f', 'k']
    137 
    138 
    139 
    140 
    141 ######反转########
    142 name2 = [1,2,3,4]
    143 names.extend(name2)
    144 print(names,name2)
    145 
    146 names+name2
    147 print(names,name2)
    148 
    149 显示结果:
    150 ['!@2@#', '#', 'b', 'c', 'd', 'd', 'e', 'f', 'k', 1, 2, 3, 4] [1, 2, 3, 4]
    151 ['!@2@#', '#', 'b', 'c', 'd', 'd', 'e', 'f', 'k', 1, 2, 3, 4] [1, 2, 3, 4]
    152 
    153 
    154 names = ['a', 'b', '',['alex','jack'],'d', 'd', 'e', 'f']
    155 
    156 ######循环列表######
    157 for i in names:
    158     print(i)
    159 
    160 #######按照步长来切片######
    161 #range(1,10,2)从1--10每个2个打印一次
    162 print(names[0:-1:2])
    163 
    164 ######0和-1都可以省略掉######
    165 print(names[::2])
    166 
    167 显示结果:
    168 a
    169 b
    170 171 ['alex', 'jack']
    172 d
    173 d
    174 e
    175 f
    176 ['a', '', 'd', 'e']
    177 ['a', '', 'd', 'e']
    View Code
  • 相关阅读:
    C# 文件重命名
    C# 获取图像文件
    我开通了博客
    C# 图像截取
    C# 从txt读取内容
    Linux 下查看用户组信息
    部署Jenkins完整记录
    一篇文章搞定Java注解^_^
    Java基础之接口
    枚举让盗版美国总统wcc给你整明白哈哈
  • 原文地址:https://www.cnblogs.com/abobo/p/8032860.html
Copyright ? 2011-2022 开发猿


http://www.vxiaotou.com