2016.07.09-10 list、tuple


列表(list)
    初始化列表:
        lst = []
        lst = list()
        lst = [1, 2, 3]

    下标/索引操作:
        python中的索引从0开始
        lst[0]  取出第一个元素
        lst[-1] 负数索引表示从后往前,由-1开始,-1表示最后一个元素
        如果索引超出范围,将引发IndexError异常
        修改元素的时候,如果超出索引范围,也会引发IndexError异常

    增加元素:
        append方法:原地修改list,在list结尾追加一个元素,append方法的返回值是None
        |  append(...)
        |      L.append(object) -> None -- append object to end
        实例:
            >>> lst = [1, 2, 3]
            >>> lst.append(4)
            >>> lst
            [1, 2, 3, 4]
            >>>
        insert方法:在指定索引位置之前插入一个元素,insert操作的索引超出方位,如果是正索引,等效于append在列表最后追加,如果是负的索引,等效于insert(0, object)
        |  insert(...)
        |      L.insert(index, object) -- insert object before index
        实例:
            >>> lst.insert(0,0)
            >>> lst
            [0, 1, 2, 3, 4]
            >>>
        extend方法:把一个可迭代对象扩展到列表
        |  extend(...)
        |      L.extend(iterable) -> None -- extend list by appending elements from the iterable
        实例:
            >>> lst
            [78, 0, 1, 2, 10, 99, 3, 4, 100]
            >>> l2 = [1,3,4,5,2]
            >>> lst.extend(l2)
            >>> lst
            lst
            >>> lst
            [78, 0, 1, 2, 10, 99, 3, 4, 100, 1, 3, 4, 5, 2]
            >>>
    删除元素:(pop是针对的索引,remove针对的是值)
        pop方法:index默认为-1,删除-1所在的元素,并返回它,可以删除指定索引的元素,如果指定索引不存在则抛出IndexError异常
        |  pop(...)
        |      L.pop([index]) -> item -- remove and return item at index (default last).
        |      Raises IndexError if list is empty or index is out of range.
        实例:
            >>> lst
            [78, 0, 1, 2, 10, 99, 3, 4, 100, 1, 3, 4, 5, 2]
            >>> lst.pop()
            2
            >>> lst.pop(4)
            10
            >>> lst.pop(100)
            Traceback (most recent call last):
              File "<stdin>", line 1, in <module>
            IndexError: pop index out of range
            >>> 

        remove方法:删除列表中第一个查找到的元素,如果值不存在,会抛出ValueError异常
        |  remove(...)
        |      L.remove(value) -> None -- remove first occurrence of value.
        |      Raises ValueError if the value is not present.
        实例:
            >>> lst
            [78, 0, 1, 2, 99, 3, 4, 100, 1, 3, 4, 5]
            >>> lst.remove(1)
            >>> lst
            [78, 0, 2, 99, 3, 4, 100, 1, 3, 4, 5]
            >>> lst.remove(7)
            Traceback (most recent call last):
              File "<stdin>", line 1, in <module>
            ValueError: list.remove(x): x not in list
            >>>
        clear方法,清空列表
        |  clear(...)
        |      L.clear() -> None -- remove all items from L
        实例:
            >>> lst
            [78, 0, 2, 99, 3, 4, 100, 1, 3, 4, 5]
            >>> lst.clear()
            >>> lst
            []
            >>>
    查找/统计元素:
        index方法:查找指定元素在列表中第一次出现的索引,[start,[stop]]为可选参数,值为索引,用于指定查找范围。
        |  index(...)
        |      L.index(value, [start, [stop]]) -> integer -- return first index of value.
        |      Raises ValueError if the value is not present
        实例:
            >>> lst = [1, 2 ,3 ,4, 5, 1, 3]
            >>> lst.index(1)
            0
            >>> lst.index(1,3)
            5
            >>>
        count方法:统计指定元素在列表中出现的次数。
        |  count(...)
        |      L.count(value) -> integer -- return number of occurrences of value
        实例:
            >>> lst
            [1, 2, 3, 4, 5, 1, 3]
            >>> lst.count(1)
            2
            >>>
        len函数:是一个内置函数,可用于统计列表的元素个数。
        len(obj, /)
        Return the number of items in a container.
        实例:
            >>> lst
            [1, 2, 3, 4, 5, 1, 3]
            >>> len(lst)
            7
            >>>
    修改列表:
        sort方法:对列表进行排序,会原地修改列表,reverse为可选参数,默认为False,指定为True,列表逆序排序。
        |  sort(...)
        |      L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*
        实例:
            >>>lst
            [1, 2, 3, 4, 5, 1, 3]
            >>> lst.sort()
            >>> lst
            [1, 1, 2, 3, 3, 4, 5]
            >>> lst.sort(reverse=True)
            >>> lst
            [5, 4, 3, 3, 2, 1, 1]
        reverse方法:对列表进行反转,会原地修改列表。
        |  reverse(...)
        |      L.reverse() -- reverse *IN PLACE*
        实例:
            >>> lst = [5, 4, 3, 3, 2, 1, 1]
            >>> lst.reverse()
            >>> lst
            [1, 1, 2, 3, 3, 4, 5]
            >>>
    其他方法:
        copy方法:复制列表,生成一个新的列表,浅拷贝。
        |  copy(...)
        |      L.copy() -> list -- a shallow copy of L
            >>> lst
            [1, 1, 2, 3, 3, 4, 5]
            >>> lst2 = lst.copy()
            >>> lst2
            [1, 1, 2, 3, 3, 4, 5]
            >>> id(lst)
            140291324960712
            >>> id(lst2)
            140291337551944
            >>>
        in,not in 成员操作符:检查元素是不是在列表中,返回一个布尔类型
            >>> lst
            [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
            >>> 10 in lst
            False
            >>> 2 in lst
            True
            >>> 

    list切片赋值:如果所赋值的内容是可迭代的,会替换原来的元素(通常不会对切片进行赋值操作)
        >>> lst = list(range(0, 11))
        >>> lst
        [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
        >>> lst[3:5] = [‘x‘, ‘y‘, ‘z‘]
        >>> lst
        [0, 1, 2, ‘x‘, ‘y‘, ‘z‘, 5, 6, 7, 8, 9, 10]
        >>> 

        >>> lst = list(range(0, 11))
        >>> lst[3: 5] = [‘x‘]
        >>> lst
        [0, 1, 2, ‘x‘, 5, 6, 7, 8, 9, 10]
        >>> 

元组(tuple):
    初始化元组:
        t = tuple([1, 2, 3])
        t = (1, 2, 3)
        t = (1, )
    元组是不可变的,这是元组和列表的最大区别。

    下标/索引操作:
        使用方法跟元组相同

    元组方法:
        由于元组是不可变类型,所以元组的方法就只有查找方法,count和index,用法跟list相同
时间: 2025-01-07 08:59:08

2016.07.09-10 list、tuple的相关文章

2016.07.09-10解包、封包

解包.封包 解包:把可迭代队形的元素赋值给变量 封包:是把变量构建成元组 x, y =(1, 3) x, y =[1, 3] #*mid 表示一个容器,可以包含任意多个元素,解包过程中只能有一个*,*赋值出来的都是列表 >>> head, *tail = list(range(10)) >>> head 0 >>> tail [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> head, *mid ,tail = list

2016.07.09

javascript 中 offsetWidth 是对象的可见宽度,包滚动条等边线,会随窗口的显示大小改变 clientWidth.offsetWidth.clientHeight区别 IE6.0.FF1.06+: offsetWidth = width + padding + border offsetHeight = height + padding + border IE5.0/5.5: offsetWidth = width offsetHeight = height offsetwid

07 09&amp;10

0709: 排名还是不高,毕竟没切出来题. 第一题dalao: 要求你做一个三维数点,只回答最终有多少个点对的状态是完全小于(可比?)的.(n<=2000000) 特殊限制是三维都是随机排列. 陈立杰在APIO讲过,当时我翘了...... 在考场上努力卡常,结果卡常失败,应该拿到60,评测炸了,中间奇怪的RE,所以只有40. 正解是考虑一对点对(X,Y),由于有三维的对应大小,所以对应的大小关系只有 (2,1)(1,2)(3,0)(0,3)这几种, 我们要求的是所有(3,0)(0,3)的点对数目

2016/07/11 PHP接口的介绍与实现

接口定义了实现某种服务的一般规范,声明了所需的函数和常量,但不指定如何实现.之所以不给出实现的细节,是因为不同的实体可能需要用不同的方式来实现公共的方法定义.关键是要建立必须实现的一组一般原则,只有满足了这些原则才能说实现了这个接口. 接口中不定义类成员!类成员的定义完全交给实现类来完成. 先来看一个简单的例子,有个全面的认识: 01 <?php 02 interface Fruit 03 { 04     const MAX_WEIGHT = 5;   //此处不用声明,就是一个静态常量 05

张珺 2015/07/09 个人文档

姓名 张珺 日期 中蓝公寓蓝芳园D507,2015/07/09 主要工作及心得 在今天的设计工作中, 我完成了操作者界面中12个界面的设计工作.并参与了部分代码的合并工作. 通过今天对界面的设计工作,我学会了Java中界面设计的方法,以及相应控件的使用方式. 遇到的问题 由于之前对于Java中界面设计并没有深入学习,对于界面之间的跳转和空间的使用也不太了解,设计时在这方面遇到了一些问题. 解决方法 因为经理.提供者等界面的编写工作已由其他同学完成,因此,遇到问题的大部分问题都可以在同伴的帮助下解

uva111 (复习dp, 14.07.09)

 History Grading  Background Many problems in Computer Science involve maximizing some measure according to constraints. Consider a history exam in which students are asked to put several historical events into chronological order. Students who order

uva 674 (入门DP, 14.07.09)

 Coin Change  Suppose there are 5 types of coins: 50-cent, 25-cent, 10-cent, 5-cent, and 1-cent. We want to make changes with these coins for a given amount of money. For example, if we have 11 cents, then we can make changes with one 10-cent coin an

【谜客帝国】第79届阳钧天歌主擂谜会(2016.07.07)

[谜客帝国]第79届阳钧天歌主擂谜会(2016.07.07) 主持:瓷   计分:手手 1.主动携手,昂首去西川(形容词)压抑 2.门客先到,必须蛙跳(称谓)闺蜜 3.不死的摇钱树(3字鲁迅小说人名)金永生 4.高手移居西城,她也去比试(称谓)老尼姑 5.遗容依旧(7字俗语)面不改色心不跳 6.缺少的缘故(名词,徐妃格)炊烟 7.未有好处(形容词,徐妃格)洋溢 8.山里飞花,坟前寒烛(人体特征)老茧 9.灾后工作模式,重新合作来依靠(旧物品)烟袋 10.守备送出关,吕布驰去也(象棋术语)过宫马

int、str、list、tuple、dict补充

一.int a = 123 b = a# a与b指向同一个地址值 c = 123 d = 123 e = 123 #d.c.e当在-5~257这个范围时,都指向一个地址值(Python优化的结果,当超出这个范围,id与之不同) 二.str a. name = "你猜" for i in name: print(i) bytes_name = bytes(i, encoding='utf-8')# 字符转换成字节 print(byte_name)# 16进制表示 for byte in