zoukankan      html  css  js  c++  java
  • python学习-day12:列表、元祖、字典介绍和内置

    list:列表 
             >>>----可以被
    修改。修改成元素,元素可以使单独的数字,也可以是:新的list。
                    通过:链表。。每个元素存储的时候,同时会指向下一个元素。
    二、list编辑修改方法

    li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda']
    2.1 索引
    li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda']
    print(li[1])
    结果:2
    答案

    2.2  切片 

    li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda']
    b=li[0:-1]
    c=li[0:4]
    d=li[1:3]
    print(b)
    print(c)
    print(d)
    [1, 2, 'alex', 'ds', '都是', 'alex', ['是正文', '赖晓', 'a']]
    [1, 2, 'alex', 'ds']
    [2, 'alex']
    答案

    2.3 修改:切片修改,变为元素。。单个修改,则是插入新的列表

    li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda']
    li[1]=[11,12,23]
    print(li)
    li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda']
    li[1:3]=[32,23,23,233]
    print(li)
    [1, [11, 12, 23], 'alex', 'ds', '都是', 'alex', ['是正文', '赖晓', 'a'], 'jda']
    答案
    [1, 32, 23, 23, 233, 'ds', '都是', 'alex', ['是正文', '赖晓', 'a'], 'jda']
    答案
    li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda']
    li[1]=120
    print(li)
    li[1]=[11,12,23]
    print(li)
    a=li[1:3]
    print(a)
    li[1:3]=[32,23,23,233]
    print(li)
    [1, 120, 'alex', 'ds', '都是', 'alex', ['是正文', '赖晓', 'a'], 'jda']
    [1, [11, 12, 23], 'alex', 'ds', '都是', 'alex', ['是正文', '赖晓', 'a'], 'jda']
    [[11, 12, 23], 'alex']
    [1, 32, 23, 23, 233, 'ds', '都是', 'alex', ['是正文', '赖晓', 'a'], 'jda']
    答案

    2.4 删除

    li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda']
    del li[1]
    print(li)
    del li[0:2]
    print(li)
    [1, 'alex', 'ds', '都是', 'alex', ['是正文', '赖晓', 'a'], 'jda']
    ['ds', '都是', 'alex', ['是正文', '赖晓', 'a'], 'jda']
    答案

    2.5   for循环、while循环

    li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda']
    for i in li:
        print(i)
    1
    2
    alex
    ds
    都是
    alex
    ['是正文', '赖晓', 'a']
    jda
    答案

    2.6 in 判断操作

    li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda']
    v=2 in li
    print(v)
    True
    答案

    2.7  操作

    li = [1, 12, 9, "age", ["石振文", ["19", 10], "庞麦郎"], "alex", True]
    v=li[3][1][0]
    print(v)
    结果:19
    答案

    2.8 字符串转化为列表

    a="dsdsadasdasl"
    v=list(a)
    print(v)
    ['d', 's', 'd', 's', 'a', 'd', 'a', 's', 'd', 'a', 's', 'l']
    答案

    2.9 列表→字符串

    1、整体转化

    li=[1,2,'alex','ds','都是','alex','jda']
    v=str(li)
    print(v)
    # 把整个li整体转化为字符串
    [1, 2, 'alex', 'ds', '都是', 'alex', 'jda']
    答案

    2、每个元素转化:只能自己写for循环。列表中:既有数字又有字符串

    s=''
    li1=[1,2,'alex','ds','都是','alex','jda']
    for i in li1:
        a=str(i)
        s += a
    print(s)
    12alexds都是alexjda
    答案

    3、列表中只有字符串:可用jion进行拼接

    li1=['alex','ds','都是','alex','jda']
    
    print("".join(li1))
    alexds都是alexjda
    答案

    2.10  用len()函数可以获得list元素的个数:

    li = [1, 12, 9, "age", ["石振文", ["19", 10], "庞麦郎"], "alex", True]
    print(len(li))
    运行结果:7
    答案

    三、list内置方法大全

       # 对象.方法(..)  list.append(self.参数) 

    3.1、append(self.,p_object):原来自最后追加。

    li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda']
    
    #1、append 原来值最后追加.不需要一个新的变量来接受,a=li.append(5)
    
    li.append(5)
    li.append("dsds")
    li.append([12,'dsds'])
    print(li)
    [1, 2, 'alex', 'ds', '都是', 'alex', ['是正文', '赖晓', 'a'], 'jda', 5, 'dsds', [12, 'dsds']]
    答案

    3.2 li.clear 清空列表 

    li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda']
    li.clear()
    print(li)
    []
    答案

    3.3 li.copy 拷贝 浅拷贝

    li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda']
    v=li.copy()
    print(v)
    [1, 2, 'alex', 'ds', '都是', 'alex', ['是正文', '赖晓', 'a'], 'jda']
    答案 

    3.4 count 计算元素出现的次数

    li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda']
    v=li.count("alex")
    print(v)
    运行结果;2
    答案

    3.5  extend(self,iterable)扩展原列表,iterable→参数:可迭代对象:可以被for循环执行的。字符串、列表

    li = [11, 22, 33, 22, 44]
    li.extend([9898,“不得了”])
    print(li)
    [11, 22, 33, 22, 44, 9898, '不得了']
    答案

    append:

    li = [11, 22, 33, 22, 44]
    li.append([9898,"不得了"])
    print(li)
    [11, 22, 33, 22, 44, [9898, '不得了']]
    答案

    extend相当于内部循环append到列表最后:

    li = [11, 22, 33, 22, 44]
    li.extend([9898,"不得了"])
    print(li)
    
    li = [11, 22, 33, 22, 44]
    for i in [9898,"不得了"]:
        li.append(i)
    print(li)

    li=[11, 22, 33, 22, 44, 9898, '不得了']
    li.extend("不得了")
    print(li)
    前两个答案:[11, 22, 33, 22, 44, 9898, '不得了']
    第三个代码:[11, 22, 33, 22, 44, 9898, '不得了', '', '', '']
    答案

    3.6 index(self,value,start=None,stop=None)  找某个值索引位置。没有参数则从左到右,找到第一个。参数可以加索引的起始位置和结束位置

    li = [11, 22, 33, 22, 44]
    v= li.index(22)
    print(v)
    s= li.index(33)
    print(s)
    答案:1、2

    3.7  insert .insert(self, index, p_object) 插入值的具体位置和插入的值。

    li = [11, 22, 33, 22, 44]
    li.insert(0,99)  (0,[99])也是可以的
    print(li)
    [99, 11, 22, 33, 22, 44]
    答案

    3.8  pop(self,index=None)  删除某个值(1.指定索引;2. 默认最后一个),并获取删除的值

    li = [11, 22, 33, 22, 44]
    v = li.pop()
    print(li)
    print(v)
    
    li = [11, 22, 33, 22, 44]
    v = li.pop(1)
    print(li)
    print(v)
    [11, 22, 33, 22]
    44
    
    [11, 33, 22, 44]
    22
    答案

    3.9 remove(self,value).

    li = [11, 22, 33, 22, 44]  #删除列表中的指定值,左边优先 删除第一个,就停止
    li.remove(22)
    print(li)
    [11, 33, 22, 44]
    答案

    目前列表删除的方式:pop remove del li[0] del li[7:9] clear

    3.10  rerevse 将当前列表进行翻转。

    li = [11, 22, 33, 22, 44]
    li.reverse()
    print(li)
    [44, 22, 33, 22, 11]
    答案

    3.11 sort(self,key=None,reverse=False) 排序 从小到大

    li = [11,44, 22, 33, 22] 
    print(li)  
    li.sort()    #从小到大排序
    print(li)
    
    li = [11,44, 22, 33, 22]
    print(li)
    li.sort(reverse=True)  #从大到小排序
    print(li)
    [11, 44, 22, 33, 22]
    [11, 22, 22, 33, 44]
    
    [11, 44, 22, 33, 22]
    [44, 33, 22, 22, 11]
    答案

    tuple  元祖 :另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改→增加,修改,删除都不行.

    1.1、书写方法:

    tu = (111,"alex",(11,22),[(33,44)],True,33,44,)

    1.2、索引取值

    tu = (111,"alex",(11,22),[(33,44)],True,33,44,)
    v = tu[0]
    print(v)
    111
    答案

    1.3、切片

    tu = (111,"alex",(11,22),[(33,44)],True,33,44,)
    v = tu[0:2]
    print(v)
    (111, 'alex')
    答案

    1.4、for循环:可迭代对象

    tu = (111,"alex",(11,22),[(33,44)],True,33,44,)
    for item in tu:
        print(item)
    111
    alex
    (11, 22)
    [(33, 44)]
    True
    33
    44
    答案

    三、字典:dict

    字典的key中:

    ①True和1不能同时存在,若存在的话就显示1个。

    ②列表、字典不能作为key。列表可以被修改为动态;

    ③元祖可以作为字典的key

    以后知识:字典是作为哈希表来保存的。key会转化为:哈希值,values,则原样提取和转化。

    由于列表不支持直接转化为哈希表。所以列表不能作为key

    字典的value:可以是任何值,

    info={'k1':'v1','k2':'v2'}   键值对

    info={

        'k1':18,

         'k2':True,

    'k3':[11,

    22,

    33,

    {

    'kk1':'vv1',

    'kk2':'vv2',

    'kk3':'vv3'}

    ],

    'k4':(11,22,33,44),

    }

    字典方法大全:

    3.1、通过索引定位相位的值:

    v=info['k1']
    print(v)
    结果是:18
    答案

    v=info['k3'][3]['kk3']→vv3

    3.2、删除  del info['key']

    info = {
        "k1": 18,
        2: True,
        "k3": [
            11,
            [],
            (),
            22,
            33,
            {
                'kk1': 'vv1',
                'kk2': 'vv2',
                'kk3': (11,22),
            }
        ],
        "k4": (11,22,33,44)
    }
    del info['k1']
    print(info)
    删除相关的
    
    del info['k3'][5]['kk1']
    print(info)
    {2: True, 'k3': [11, [], (), 22, 33, {'kk3': (11, 22), 'kk2': 'vv2'}], 'k4': (11, 22, 33, 44), 'k1': 18}
    答案

    3.3 进行for循环

    info = {
        "k1": 18,
         2: True,
        "k3": [
            11,
            [],
            (),
            22,
            33,
            {
                'kk1': 'vv1',
                'kk2': 'vv2',
                'kk3': (11,22),
            }
        ],
        "k4": (11,22,33,44)
    }
    for item in info:
        print(item)
     答案
    for item in info.values():
        print(item)
    [11, [], (), 22, 33, {'kk2': 'vv2', 'kk3': (11, 22), 'kk1': 'vv1'}]
    True
    (11, 22, 33, 44)
    18
    答案
    for  k,v in info.items():
        print(k,v)
    k3 [11, [], (), 22, 33, {'kk2': 'vv2', 'kk1': 'vv1', 'kk3': (11, 22)}]
    k1 18
    2 True
    k4 (11, 22, 33, 44)
    答案

    3.4

  • 相关阅读:
    在linux下Ant的环境配置
    在linux下Java的环境配置
    CSS列表逆序
    HTML元素基础学习
    第一天---HTML基础学习
    排球计分程序
    罗辑思维:怎样成为一个高手 观后感
    十八周个人作业
    本周个人作业
    个人作业
  • 原文地址:https://www.cnblogs.com/laixiaoyun/p/6098634.html
Copyright © 2011-2022 走看看