zoukankan      html  css  js  c++  java
  • python七类之列表元组

    列表

    一、关键字:  list  lst = [ , , , , , , ,]

     lst = [1,2,3,4]

    二、方法:

    1.增加:

    . append( ) #追加​​​,添加元素进列表最后

    lst.append('alex')     #追加,默认加到列表最后

    . insert ( )​   #插入 括号里前面放插入的位置(索引),后面是插入的内容

    lst.insert(0,'alex')      #添加指定位置,前面是位置,后面是内容

    .extend( )​​   #扩展 只能进行迭代添加, 只能在添加到后面,后面添加可迭代对象

    lst = [1,2,3,4]
    lst.extend('alex')
    print(lst)​ 输出:[1, 2, 3, 4, 'a', 'l', 'e', 'x']

    +:   号是合并列表的方法​​

    * :lst_1 * 数字 将列表内的元素翻倍输出 ​

    2.删除:

    .remove()            #移除 通过放在括号里的指定元素进行删除​​.,后面只能加入一个删除参数.只能删除一个.

    lst.remove(4)                #删除指定元素,后面加入要删除的元素

    .pop( )                 #弹出​​ 默认删除最后一个. 后面可以加元素的索引​指定删除的元素 

    lst.pop()                      #默认删除最后一个
    i=lst.pop(2)                    #删除指定索引的元素,并且可以返回删除的值

    .clear( )               ​ #清空 将列表内的元素都删除

    lst.clear()                       #清空列表

    注意(此处神坑):用for循环将列表清空

    (错误方式)

    lst = [1,2,3,4,5]
    
    for i in lst: #这种问题是for循环的循环机制导致的,这个是当for要循环的数据为空时,他就停止循环
    lst.remove(i) #这样子删除不行,循环删除是位置上的值,当这个位置删除过了,下次再循环就不会再删除这个位置了
    print(lst)      

    正确方式:

    1、利用pop()方法

    lst = [1,2,3,4,5]
    for i in range(len(lst)):   #通过for实现循环次数,但是并不参与删除操作
    lst.pop(0)           #默认删除最后一个,可以规避掉for的循环机制
    print(lst)

    2、利用新列表规避:

    lst = [1,2,3,4,5]           
    lst1 = []                          #通过另建一个新表
    for i in lst: 
      lst1.append(i)                #使用另一个列表来规避掉for的循环机制
    for k in lst1:
      lst.remove(k)
      print(lst)

    del lst [ ]     #通过索引删除对应的元素​

    del lst[1]                            #删除指定位置的元素

    del ​​lst                   #删除整个列表,即将列表删了

    3.修改​:

    lst []​ = ' '     #具体替换, 利用索引

    lst[1] = 'alex'                      #修改指定位置的元素

    lst[0:5] = ''    #当一次性​改多个元素时,当后面是一个元素时,将该元素分开替换,后面是多个元素时,将多个元素分别替换前面的索引

    lst[0:2] = 'alex','wusir'  

    4.查:

    a.lst[ ]       #利用索引进行查询​​

    i = lst[0]                              #查询具体位置的元素

    b.通过for循环查询​​

    ​5.列表的其他操作:

    操作列表的时候要进行赋值,增删改查的时候不用赋值。​​

    其他的和字符串相通:

    ​.reverse( )    #对列表进行翻转​ ,没有赋值

    ​.sort()       #按大小对列表进行排序​默认升序,对于字母按照单词的首字母按26个字母进行排序. 即按照ASCII进行排序 没有返回值

    降序:

    ​lst.sort(reverse = True) ​
    
    print(lst)​   

      排序:

    lis = ['1','2','3','9','26','7','3','92','a','c','d']
    lis.sort()
    lis.reverse()
    print(lis)

    列表嵌套:​

    lst = [1,'太白','wusir',['麻花疼',['可口可乐'],'王健林']]
    lst[-1][1].append('雪碧')
    print(lst[-1][1])
    print(lst)​​

    列表是可变的有序的数据类型

    元组

    一、关键字: tuple

    tu(1)​

    print(type(tu))   #元组中的数据类型取决于其中的数据类型种类的多少,如果括号里只有一个类型,那表现为这个类型,如果有两个以上类型,那表现为'tuple'类型

          只要是中括号括起来的,其数据类型都是'list'

    元组只能进行索引和计数,还可以切片,切片切出来的还是元组.也能循环,就是不能更改元祖的内容

    注意:元组也可以合并,合并是两个的数据类型都应该是tuple​

    tu1 = tu() + (5)     #是错误的,因为括号里只有整型一个数据类型,所以表现为整型,不能和元组合并.

    ​​tu1 = tu() + (5,)     #这样子就可以了

    ​tu = (1,2,3,4)​​

    tu.index( )​ #查找​

    tu.count( )​ #计数

    元祖也可以嵌套​

    ​元组中的字符串和数字是不可变的数据类型,而其中嵌套的列表是可以更改的​,就是说其所代表的内存没有改变

    之所以使用元组主要是因为元组不可改变,安全系数比列表更高!​

    元组是不可变得有序的数据类型的数据类型.

    七大数据类型之间的转换

    str()       #可以转换任何数据类型

    int()       #可以转换str中单个数字

    bool()       #其中有0,False,{},[],'',()表示False,别的都是True

    list()       #除了数字和bool值之外都可以转换 ,转换字典是只能转换其中的键,即可迭代的数据类型

    tuple()      #除了数字和bool值之外都可以转换 ,转换字典是只能转换其中的键,即可迭代的数据类型

    dict()       #什么类型都不能转换

    set()       #除了数字和bool值之外都可以转换 ,转换字典是只能转换其中的键,即可迭代的数据类型

    #数据类型转换
    str()         #可以转换任何数据类型
    int()         #可以转换str中单个数字
    bool()        #其中有0,False,{},[],'',()表示False,别的都是True
    list()        #除了数字和bool值之外都可以转换 ,转换字典是只能转换其中的键,即可迭代的数据类型
    tuple()       #除了数字和bool值之外都可以转换 ,转换字典是只能转换其中的键,即可迭代的数据类型
    dict()        #什么类型都不能转换
    print(set({'alex':1,'2':3})) #除了数字和bool值之外都可以转换 ,转换字典是只能转换其中的键,即可迭代的数据类型
  • 相关阅读:
    枚举类型(C#)
    如何在Delphi中安装组件
    操作系统知识点总结
    Java内部类学习笔记
    计算机网络笔试面试常考考点
    电话号码分身问题
    最长下降/上升子序列问题
    LeetCode(162):Find Peak Element
    LeetCode(153):Find Minimum in Rotated Sorted Array
    LeetCode(75):Sort Colors
  • 原文地址:https://www.cnblogs.com/sanzangdashi3/p/9852677.html
Copyright © 2011-2022 走看看