zoukankan      html  css  js  c++  java
  • Python 列表与元组基础知识

    列表 list 和 元组 tuple 是Python中最常见的两种数据结构 

    都是可以放置任意数据类型有序集合 

    在大多数编程语言中,集合的数据类型必须一致,但在Python 的列表和元组中,无此要求

    # list
    l = [1, "hello", 1.23, {"name": "xiaoming"}, [1, 2, 3], (1, 2, 3), {1, 2, 3, 2, 3}]
    # tuple
    t = (1, "hello", 1.23, {"name": "xiaoming"}, [1, 2, 3], (1, 2, 3), {1, 2, 3, 2, 3})

    列表是动态的 mutable

    元组是静态的 immutable ,tuple的每个元素,指向的地址不变

    l = [1,2,3]
    t = (1,2,3,l)
    l.append("hello")
    print(t)
    
    # 输出 (1, 2, 3, [1, 2, 3, 'hello'])

    这里的元组t 有一个可变元素 l,l 值改变后,t 看似发生了改变,但是t 中元素指向的地址仍不变

    list 和 tuple 内部实现都是 array

    列表生成式

    # 生成 0~10 的列表
    # range(0,11) == range(11) ==range(0,11,1)
    # range(stop) -> range object
    # range(start, stop[, step]) -> range object
    
    l = [i for i in range(0, 11)]
    print(l)
    
    # 输出 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    # 生成 0~10 偶数
    # 1. 取余数
    l = [i for i in range(0, 11) if i % 2 == 0]
    print(l)
    
    # 2. 切片
    l = [i for i in range(0, 11)][0::2]
    print(l)
    
    # 3. range(start, stop[, step])
    l = [i for i in range(0, 11, 2)]
    print(l)
    
    # 输出都是 [0, 2, 4, 6, 8, 10]

    列表去重

    1. list --> set --> list

    l = [1, 2, 2, 3, 3, 3, 4, 4, 4]
    l = list(set(l))
    print(l)
    
    # 输出 [1, 2, 3, 4]

    2. dict

    l = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
    counter = {}
    for i in l:
        # 判断此元素是否有多个
        if i in counter:
            counter[i] += 1
        else:
            counter[i] = 1
    # key:value  key 为去重后元素, value 为该元素出现次数
    print(counter)
    print(list(counter.keys()))
    
    # 输出
    # {1: 1, 2: 2, 3: 3, 4: 4}
    # [1, 2, 3, 4]
  • 相关阅读:
    送给每天用电脑超4小时的朋友!!
    股票技术指标分析详细
    2003安装新版MSN9的方法 / MSN9 for 2003
    买卖股票基本原则新手参考
    更改Windows软件默认安装路径
    永不套牢的方法(教你正确止损)
    股票的技术参数很多,图线参数常见的有这些
    教育网ftp大全
    【笔记】【汇编语言】第4章 第一个程序
    【笔记】【汇编语言】第2章 寄存器
  • 原文地址:https://www.cnblogs.com/jyang/p/13394688.html
Copyright © 2011-2022 走看看