zoukankan      html  css  js  c++  java
  • 列表与字典

    1、列表获取元素的索引是从0开始,在列表中第N个元素,索引则是N-1

    2、列表“分片”:

           2.1、从第1个索引开始,在第二个索引之前结束;p[1:3] 

            2.2、取回的元素为两个索引之差

            2.3、列表分片取回的原列表的一个分片(列表),原来的列表并没有改变

            2.4、列表的简写;建立整个列表的副本,原表不进行修改,则可使用L[:] 方式

    L = ["a","b","c","d","e"]
    print(L[1:3])
    
    L = ["a","b","c","d","e"]
    print(L[1:4])
    
    L = ["a","b","c","d","e"]
    print(L[1])
    print(L[1:2])
    print(L[:2])
    print(L[2:])
    print(L[:])

        3、 3.1:增加到列表末尾:append()

               3.2:  扩展列表 :extend()

               3.3:  插入一个元素:insert()

               

    L.append("f")              # 增加一个元素至列表列尾
    print(L)
    L.insert(2,"A")              # 列表中位置插入一个元素
    print(L)
    L.extend(["g","h","l"])   # 扩展列表,列表末尾增加多个元素
    print(L) 
    L.append(["j","k"])        # 增加一个列表(本身也是一个元素)至列表中
    print(L)
    L.insert(3,["B","C"])      # 插入一个列表(本身也是一个元素)至列表中
    print(L)
    View Code
     删除元素的办法:其中pop(n)会给出这个索引位置的元素,而且会把它从列表中删除。

    4     4.1  用remove()删除元素:不用考虑元素的位置

           4.2  用del删除元素:利用索引删除元素

           4.3  用pop()删除元素:从列表中取出一个元素

           

    L.remove("A")    # 移除某个元素,不需要考虑元素的位置
    del L[2]         #利用索引从列表中删除
    L.pop()
    L.pop(8)         # 从列表中取出最后一个元素
    L_last = L.pop() # 从列表中取出一个元素并赋给变量
    print(L_last)
    print(L)
    列表中删除元素

     5、 搜索列表

           5.1 查找元素列表是否在列表中   in 关键字

           5.2 查找元素在列表中的哪个位置(元素的索引)

           

    print("a" in  L )
    print('s ' in L)                   #  判断 元素是否在列表中
    L_1 =L
    if 'a' in  L_1:
        L_a = L_1.remove('a')     # 如果元素在列表中,便删除此元素,
        print(L_a)
        print(L_1)
    
    L_2 =L
    if 'b' in L_2 :
        print(L_2.index('b'))     # 如果元素在列表中,便找出一个元素位于列表中的位置
    搜索列表

    6、循环处理列表 

    1 L = [1,2,3,4,5,6]
    2 for i in L:
    3    print(i)
    循环迭代处理

    7、列表排序

         7.1  sotr()会原地修改列表,它会改变你提供的原始列表,并不产生新的列表。

         7.2 reverse() 将列表的元素顺序倒过来。

         7.2  sort(reverse = True )  按降序排序。

         7.5 所以为一个东西指定一个名字时,只是向同一个东西增加新的标签。

               同时也可以将标签移动至全新的一个表。

        7.6  我们可以建立一个表的副表,然后对副表进行排序 就不会影响原来表的结构

    num = [1,3,5,4,2,8,7,9]
    str = ["a","c","b","f","e"]
    num.sort()
    str.sort()
    print(str)
    print(num)     # sort() 是在原地修改列表,会改变提供的原始列表,而不是创建新的列表
    
    str.reverse()  # reverse 它会把列表中元素的顺序倒过来
    num.reverse()
    print(str)
    print(num)
    num.sort(reverse= True) # 另外一种办法是向sort()增加了一个参数,直接让它降序排序
    print(num)
    
    
    original = [5,4,3,2,1]
    new = original    # new 指向original列表
    print(new)
    new.sort()
    print(new)
    print(original)   # 对列表已经进行了更改
    original = [5,4,3,2,1]
    new_1 = original[:]   # 创建列表的副表 
    new_1.sort()
    print(new_1)
    print(original)  # 对原表未进行更改 
    列表进行排序

    8、 在python 中,数字与字符串是不可改变的(不能改变的),而列表是可以改变的。有一种不可改变的列表称为元组

    9、双重列表:一个元素列表,每个元素本身也是一个列表;数据结构:利用L[][]可以知道每个信息存储的地方。

    jo = [22,33,44]
    mo = [55,66,77]
    ko = [88,99,11]
    classmo = [jo,mo,ko]  # 双重列表
    print(classmo)
    for studentment in classmo:
        print(studentment)
    print (classmo[2][2])
    双重列表

    10、字典就是一种将两个东西关联在一起的方式。键和值,一个字典就是键值对的集合。

            列表与字典都可以包含任意类型的条目,都提供了集合中查找条目的方法:

            列表是有顺序的,字典是无序的,列表中的元素是用索引访问的,字典中的条目是用键来访问的,

            字典中的键是列表的,可进行排序 

    phonenumber = {}  # 创建一个空的列表
    phonenumber["wang"] = "13927400653"   # 给列表添加一个值
    print(phonenumber)
    phonenumber = {"cheng": "13845629871"}
    print(phonenumber)
    phonenumber["hua"] = "13927400611"
    phonenumber["jiangzhen"] = "18873478141"
    print(phonenumber)
    print(phonenumber.keys())
    print(phonenumber.values())
    
    for key in sorted(phonenumber.keys()): # 字典的键是列表格式,可以进行排序
        print(key,phonenumber[key])
    
    for value in sorted(phonenumber.values()):   # 先对值进行排序
        for key in sorted(phonenumber.keys()):
            if phonenumber[key] == value:
                print(key,phonenumber[key])
    
    del phonenumber["wang"]
    print(phonenumber)
    
    print ('hua' in phonenumber)  # 判断"hua" 是否在列表中
    
    phonenumber.clear() # 使用clear() 删除所有条目
    
    print(phonenumber)
    字典

         

        

            

  • 相关阅读:
    MFC TeeChart 用法整理二 (画二维图)
    CFileFind类的详解以及应用实例
    error C2065: 'AfxCriticalTerm' : undeclared identifier 解决办法
    error LNK2001
    ShellExecute详细用法(可以单独打开一个文件)
    java连接SQL Server数据库
    Java 异常处理
    eclipse 无法自动匹配
    Java简单的表格模型
    Java 字符串常用操作(String类)
  • 原文地址:https://www.cnblogs.com/wangchenghua/p/11212030.html
Copyright © 2011-2022 走看看