Python 列表

List 数据类型

一、创建一个列表

用把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:

>>> name_list = ["root", "gm", "hlr"]

二、访问列表中的值

使用下标索引来访问列表中的值,与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。

>>> name_list
['root', 'gm', 'hlr']

三、查看列表可进行的操作

>>> help(name_list)
·················
>>> dir(name_list)
['append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
append("STRING"):向列表的末尾追加一个新的值
clear():删除所有的元素
copy():浅 copy ,原始列表中包含可变对象(如嵌套列表或字典),则更改这些对象可能会在复制后的列表中反映出来
count("STRING"):统计某字符串或值在列表中出现的次数
extend(list2):将可迭代对象中的元素逐个添加到列表的末尾,扩展原始列表。可迭代对象:列表,元组,字符串
index("STRING"):某值在列表中第一次出现的位置
insert(N,"STRING"):向列表的位置N处插入一个新值
pop(obj=list[-1]):删除列表某个位置的值,默认为最后一个值
remove("STRING"):移除列表中某个值的第一个匹配项
reverse():列表元素值反序排列
sort():对列表内的所以值按照ASCII码进行排序
list 函数方法
class list(object):
    """
    Built-in mutable sequence.
    
    If no argument is given, the constructor creates a new empty list.
    The argument must be an iterable if specified.
    """
    def append(self, *args, **kwargs): # real signature unknown
        """ Append object to the end of the list. """
        pass

    def clear(self, *args, **kwargs): # real signature unknown
        """ Remove all items from list. """
        pass

    def copy(self, *args, **kwargs): # real signature unknown
        """ Return a shallow copy of the list. """
        pass

    def count(self, *args, **kwargs): # real signature unknown
        """ Return number of occurrences of value. """
        pass

    def extend(self, *args, **kwargs): # real signature unknown
        """ Extend list by appending elements from the iterable. """
        pass

    def index(self, *args, **kwargs): # real signature unknown
        """
        Return first index of value.
        
        Raises ValueError if the value is not present.
        """
        pass

    def insert(self, *args, **kwargs): # real signature unknown
        """ Insert object before index. """
        pass

    def pop(self, *args, **kwargs): # real signature unknown
        """
        Remove and return item at index (default last).
        
        Raises IndexError if list is empty or index is out of range.
        """
        pass

    def remove(self, *args, **kwargs): # real signature unknown
        """
        Remove first occurrence of value.
        
        Raises ValueError if the value is not present.
        """
        pass

    def reverse(self, *args, **kwargs): # real signature unknown
        """ Reverse *IN PLACE*. """
        pass

    def sort(self, *args, **kwargs): # real signature unknown
        """
        Sort the list in ascending order and return None.
        
        The sort is in-place (i.e. the list itself is modified) and stable (i.e. the
        order of two equal elements is maintained).
        
        If a key function is given, apply it once to each list item and sort them,
        ascending or descending, according to their function values.
        
        The reverse flag can be set to sort in descending order.
        """
        pass

    def __add__(self, *args, **kwargs): # real signature unknown
        """ Return self+value. """
        pass

    def __class_getitem__(self, *args, **kwargs): # real signature unknown
        """ See PEP 585 """
        pass

    def __contains__(self, *args, **kwargs): # real signature unknown
        """ Return key in self. """
        pass

    def __delitem__(self, *args, **kwargs): # real signature unknown
        """ Delete self[key]. """
        pass

    def __eq__(self, *args, **kwargs): # real signature unknown
        """ Return self==value. """
        pass

    def __getattribute__(self, *args, **kwargs): # real signature unknown
        """ Return getattr(self, name). """
        pass

    def __getitem__(self, y): # real signature unknown; restored from __doc__
        """ x.__getitem__(y) <==> x[y] """
        pass

    def __ge__(self, *args, **kwargs): # real signature unknown
        """ Return self>=value. """
        pass

    def __gt__(self, *args, **kwargs): # real signature unknown
        """ Return self>value. """
        pass

    def __iadd__(self, *args, **kwargs): # real signature unknown
        """ Implement self+=value. """
        pass

    def __imul__(self, *args, **kwargs): # real signature unknown
        """ Implement self*=value. """
        pass

    def __init__(self, seq=()): # known special case of list.__init__
        """
        Built-in mutable sequence.
        
        If no argument is given, the constructor creates a new empty list.
        The argument must be an iterable if specified.
        # (copied from class doc)
        """
        pass

    def __iter__(self, *args, **kwargs): # real signature unknown
        """ Implement iter(self). """
        pass

    def __len__(self, *args, **kwargs): # real signature unknown
        """ Return len(self). """
        pass

    def __le__(self, *args, **kwargs): # real signature unknown
        """ Return self<=value. """
        pass

    def __lt__(self, *args, **kwargs): # real signature unknown
        """ Return self<value. """
        pass

    def __mul__(self, *args, **kwargs): # real signature unknown
        """ Return self*value. """
        pass

    @staticmethod # known case of __new__
    def __new__(*args, **kwargs): # real signature unknown
        """ Create and return a new object.  See help(type) for accurate signature. """
        pass

    def __ne__(self, *args, **kwargs): # real signature unknown
        """ Return self!=value. """
        pass

    def __repr__(self, *args, **kwargs): # real signature unknown
        """ Return repr(self). """
        pass

    def __reversed__(self, *args, **kwargs): # real signature unknown
        """ Return a reverse iterator over the list. """
        pass

    def __rmul__(self, *args, **kwargs): # real signature unknown
        """ Return value*self. """
        pass

    def __setitem__(self, *args, **kwargs): # real signature unknown
        """ Set self[key] to value. """
        pass

    def __sizeof__(self, *args, **kwargs): # real signature unknown
        """ Return the size of the list in memory, in bytes. """
        pass

    __hash__ = None

四、append

# 原列表
>>> name_list
['root', 'gm', 'hlr']

# 新增一个root值
>>> name_list.append("root")

# 新列表
>>> name_list
['root', 'gm', 'hlr', 'root']

五、count

# 统计root用户在列表中出现的次数
>>> name_list.count("root")
2

# 额外补充,如何删除列表中的root值(此时列表有2个值为root)
>>> name_list
['root', 'hlr', 'gm', 'root']
>>> for i in range(name_list.count("root")):
... name_list.remove("root")
... 

>>> name_list
['hlr', 'gm']

六、index

# 原列表
>>> name_list
['root', 'gm', 'hlr', 'root']

# 查看hlr用户在列表第一次出现的位置
>>> name_list.index("hlr")
2

七、insert

# 原列表
>>> name_list
['root', 'gm', 'hlr', 'root']

# 在列表的位置2处新增一个test用户
>>> name_list.insert(2, "test")

# 新列表
>>> name_list
['root', 'gm', 'test', 'hlr', 'root']

八、pop

# 原列表
>>> name_list
['root', 'gm', 'test', 'hlr', 'root']

# 删除列表位置为2的值
>>> name_list.pop(2)
'test'

# 新列表
>>> name_list
['root', 'gm', 'hlr', 'root']

# 删除列表最后一个值
>>> name_list.pop()
'root'

# 新列表
>>> name_list
['root', 'gm', 'hlr']

九、remove

# 原列表
>>> name_list
['root', 'gm', 'hlr']

# 新增一个gm用户
>>> name_list.append("gm")

# 新列表
>>> name_list
['root', 'gm', 'hlr', 'gm']

# 移除第一个gm用户
>>> name_list.remove("gm")

# 新列表
>>> name_list
['root', 'hlr', 'gm']

十、reverse

# 原列表
>>> name_list
['root', 'hlr', 'gm']

# 反向排列列表中元素
>>> name_list.reverse()

# 新列表
>>> name_list
['gm', 'hlr', 'root']

十一、sort

# 原列表
>>> name_list
['root', 'hlr', 'gm']

# 对列表进行排序
>>> name_list.sort()

# 新列表
>>> name_list
['gm', 'hlr', 'root']

列表的切片和连接

一、定义一个list

>>> a = [1, 3, 4, 5, 'a', 's']
>>> a
[1, 3, 4, 5, 'a', 's'] 

二、获取列表中前3个元素

>>> a[0:3]
[1, 3, 4]
 
# 注意a[0:3]是一种左包含的形式,即a[0:3]只包含了a[0]-a[2]的3个元素,没有包含a[3] 

三、获取列表第2到第5个元素

>>> a[1:5]
[3, 4, 5, 'a'] 

四、获取列表中所有索引为奇数的元素

>>> a[1::2]
[3, 5, 's']

五、获取列表倒数第二个到开头的元素

>>> a[:-1]
[1, 3, 4, 5, 'a']
 
# 特别注意a[:-1]和a[-1]的区别
>>> a[-1]
's'
 
# 如何在切片中获取到最后一个元素
>>> a[-1:]
['s'] 

六、多个列表间如何连接

# 原a列表
>>> a
[1, 3, 4, 5, 'a', 's']
 
# 新增一个b列表
>>> b = ['root', 'gm', 'hlr']
>>> b
['root', 'gm', 'hlr']
 
# 不改变a、b列表元素的情况下连接
>>> a + b
[1, 3, 4, 5, 'a', 's', 'root', 'gm', 'hlr']
>>> c = a + b
>>> c
[1, 3, 4, 5, 'a', 's', 'root', 'gm', 'hlr']
 
# 使用列表操作函数连接,会修改某个列表
>>> a.extend(b)
>>> a
[1, 3, 4, 5, 'a', 's', 'root', 'gm', 'hlr'] 

七、列表如何转换为元组

# 列表a
>>> a
[1, 3, 4, 5, 'a', 's', 'root', 'gm', 'hlr']
 
# 把列表转换为元组
>>> tuple(a)
(1, 3, 4, 5, 'a', 's', 'root', 'gm', 'hlr')  

更多列表操作

https://www.cnblogs.com/evescn/p/12395591.html

posted @ 2023-06-09 16:47  evescn  阅读(14)  评论(0编辑  收藏  举报