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')