• 【277】◀▶ Python 列表/元组/字典说明


    目录:


    参考:Python 列表(List)使用说明

    列表截取很灵活,下面通过例子说明:

    还可以通过 a[0:8:2] 来截取

    >>> a
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> a[-1]                                           # 最后一个元素
    9
    >>> a[-2]                                           # 倒数第二个
    8
    >>> a[:3]                                           # 第一个到索引为(3-1)的,不包括3
    [0, 1, 2]
    >>> a[-3:]                                           # 倒数第三个到最后
    [7, 8, 9]
    

    参考:Python 元组(Tuple)使用说明

    • Python的元组与列表类似,不同之处在于元组的元素不能修改
    • 元组使用小括号,列表使用方括号(例如记录坐标点,a = (123, 37))。
    • 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
    • 获取单个要素通过方括号,例如 dimension[0]

    参考:Python 字典使用说明

    • 字典是另一种可变容器模型,且可存储任意类型对象(类似 HTML 和 XML 的标签与值)。
    • 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:
    • d = {key1 : value1, key2 : value2 }

    代码实现:按照数字排序,获取前四位数字对应的分类的数目

    >>> films_results = [128, 118, 16, 18, 20, 130]
    >>> films_class = ['Action', 'Action', 'Romance', 'Romance', 'Romance', 'Action']
    
    >>> sortedIndices = np.argsort(films_results)
    >>> sortedIndices
    array([2, 3, 4, 1, 0, 5], dtype=int64)
    
    >>> k=4
    >>> classCount = {}
    
    >>> for i in range(k):
    	voteLabel = films_class[sortedIndices[i]]
    	classCount[voteLabel] = classCount.get(voteLabel, 0) + 1
    
    >>> classCount
    {'Romance': 3, 'Action': 1}
    

    dict.get(key,default=None),字典的get()方法,返回指定键的值,如果值不在字典中返回默认值。  

    dict.fromkeys(iterable, value=None, /): Create a new dictionary with keys from iterable and values set to value.

    用来创建一个新的字典,keys 保留 iterable 的,值按照 value。


    前言
     

    列表是Python中最基本的数据结构。列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。列表的数据项不需要具有相同的类型。

    Python 的元组与列表类似,不同之处在于元组的元素不能修改元组使用小括号列表使用方括号。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

    tup1 = ('physics', 'chemistry', 1997, 2000);
    tup2 = (1, 2, 3, 4, 5 );
    tup3 = "a", "b", "c", "d";
    

    字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:

    d = {key1 : value1, key2 : value2 }
    

    键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

    本文以 列表(List) 为例。


    一、访问列表中的值
     
    list1 = ['physics', 'chemistry', 1997, 2000]
    list2 = [1, 2, 3, 4, 5]
    list3 = ["a", "b", "c", "d", "e"]
    
    print list1
    print list2
    print list3

    print list1[0]
    print list2[2:]
    print list3[1:4]

    ********** RESULTS **********

    ['physics', 'chemistry', 1997, 2000]
    [1, 2, 3, 4, 5]
    ['a', 'b', 'c', 'd', 'e']

    physics
    [3, 4, 5]
    ['b', 'c', 'd']
    二、更新列表
     
    list1 = ['physics', 'chemistry', 1997, 2000]
    print list1[1]
    
    list1[1] = 'math'
    print list1[1]
    

    ********** RESULTS **********

    chemistry
    math
    
    三、删除列表元素
     

    可以使用 del 语句来删除列表的的元素,如下实例:

    list1 = ['physics', 'chemistry', 1997, 2000]
    print list1
    print list1[1]
    
    del list1[1]
    print list1
    print list1[1]
    

    ********** RESULTS **********

    ['physics', 'chemistry', 1997, 2000]
    chemistry
    ['physics', 1997, 2000]
    1997
    
    四、Python 列表脚本操作符
     

    列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。如下所示:

    Python 表达式结果描述
    len([1, 2, 3]) 3 长度
    list[:2]、list[-3:]、list[:]   灵活截取
    [1, 2, 3] + [4, 5, 6] [1, 2, 3, 4, 5, 6] 组合
    ['Hi!'] * 4 ['Hi!', 'Hi!', 'Hi!', 'Hi!'] 重复
    3 in [1, 2, 3] True 元素是否存在于列表中
    4 not in [1, 2, 3] True 元素是否不存在于列表中
    for x in [1, 2, 3]: print x, 1 2 3 迭代
    [i+1 for i in range(0, 5)]   通过已有列表建立新列表
    >>> a
    [0, 1, 2, 3, 4]
    >>> b = [i+1 for i in a]
    >>> b
    [1, 2, 3, 4, 5]
    >>> c = a + 1
    >>> [i for i in range(0, 5)]
    [0, 1, 2, 3, 4]
    >>> [str(i) for i in range(0, 5)]
    ['0', '1', '2', '3', '4']
    
    list1 = ['physics', 'chemistry', 1997, 2000]
    print len(list1)
    
    list2 = list1 + list1
    list3 = list1 * 3
    
    print list2
    print list3
    
    if(1997 in list1):
    	print list1
    else:
    	print list2
    
    for x in list1:
    	print x
    

    ********** RESULTS **********

    4
    
    ['physics', 'chemistry', 1997, 2000, 'physics', 'chemistry', 1997, 2000]
    ['physics', 'chemistry', 1997, 2000, 'physics', 'chemistry', 1997, 2000, 'physics', 'chemistry', 1997, 2000]
    
    ['physics', 'chemistry', 1997, 2000]
    
    physics
    chemistry
    1997
    2000
    
    五、Python 列表函数 & 方法
     

    Python包含以下函数:

    序号函数
    1 cmp(list1, list2)
    比较两个列表的元素
    说明:list1 与 list2 一样,返回值为 0
    2 len(list)
    列表元素个数
    3 max(list)
    返回列表元素最大值
    4 min(list)
    返回列表元素最小值
    5 list(seq)
    将元组转换为列表

    Python 包含以下方法:

    序号方法
    1 list.append(obj)
    在列表末尾添加新的对象
    2 list.count(obj)
    统计某个元素在列表中出现的次数
    3 list.extend(seq)
    在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
    4 list.index(obj)
    从列表中找出某个值第一个匹配项的索引位置
    5 list.insert(index, obj)
    将对象插入列表
    6 list.pop(obj=list[-1])
    移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
    7 list.remove(obj)
    移除列表中某个值的第一个匹配项
    8 list.reverse()
    反向列表中元素
    9 list.sort([func])
    对原列表进行排序

  • 相关阅读:
    Effective C++ 读书笔记(3544):继承关系与面向对象设计
    《全景探秘游戏设计艺术》读后感之引子
    Effective C++ 读书笔记(1117):构造析构和赋值函数
    Effective C++ 读书笔记(2934):类与函数之实现
    Unity中使用PersistentDataPath加载文件
    打开本地【C】【D】【E】驱动器时候提示 X:\ 找不到应用程序
    C#进制转换
    在VS里编辑unity代码调用系统方法不显示中文注释或英文注释
    Spreadsheet说明
    C#中删除控件的事件的方法类.
  • 原文地址:https://www.cnblogs.com/alex-bn-lee/p/8035915.html
Copyright © 2020-2023  润新知