zoukankan      html  css  js  c++  java
  • 学习python的day5之列表和元组

    一、列表

    1介绍

    1.1)列表一次性可以存多个数据

    1.2)列表存的数据可以是不同的数据类型

    1.3)对列表的操作:增、删、改、查。

    2.数据操作

    2.1)查找

    2.1.1按下标查找

    list1 = ['tom', 'lili', 'siri']
    print(list1[0])
    print(list1[1])
    print(list1[2])
    
    '''
    输出:
    tom
    lili
    siri
    '''

    2.1.2函数查找

    index():返回指定数据位置下标

    语法:列表序列.index(数据,开始位置下标,结束位置下标)   注:如果没有开始位置下标和结束位置下标则默认在整个列表中查找,如果查找的数据不在列表中则程序报错

    list1 = ['tom', 'lili', 'siri']
    print(list1.index('lili', 0, 2))
    
    '''
    输出:
    1
    '''

    count():统计指定数据在当前列表中出现的次数

    语法:列表序列.count(数据) 

    list2 = [1,2,2,2,3,3,4,5]
    print(list2.count(2))
    print(list2.count(3))
    print(list2.count(5))
    print(list2.count(31))
    
    '''
    输出:
    3
    2
    1
    0
    '''

    len():访问列表长度,即统计列表中数据的个数

    list2 = [1,2,2,2,3,3,4,5]
    print(len(list2))
    
    '''
    输出:
    8
    '''

    2.2判断是否存在

    in:判断指定数据在某个列表中,在返回true,不在返回false

    list1 = ['tom', 'lili', 'siri']
    print('tom' in list1)
    print('ton' in list1)
    
    '''
    输出结果:
    True
    False
    '''

    not in:判断指定数据不在某个列表中,不在返回true,在返回false

    list1 = ['tom', 'lili', 'siri']
    print('to' not in list1)
    print('lili' not in list1)
    
    '''
    输出结果:
    True
    False
    '''

    2.3增加

    作用:增加指定数据到列表中

    append():列表结尾增加数据

    语法:列表序列.append(数据)

    list1 = ['tom', 'lili', 'siri']
    list1.append('liqiang')
    print(list1)
    '''
    输出:
    ['tom', 'lili', 'siri', 'liqiang']
    '''

    如果增加的数据是一个序列,则将整个序列追加到列表

    list1 = ['tom', 'lili', 'siri']
    list2 = ['zhangsan' , 1 , 2]
    list1.append(list2)
    print(list1)
    '''
    输出:
    ['tom', 'lili', 'siri', ['zhangsan', 1, 2]]
    '''

    extend():在列表结尾增加数据

    注意:增加单个数据时,extend()的效果与append()相同,如果增加的数据是一个序列,则将这个序列中的数据逐一添加到列表

    list1 = ['tom', 'lili', 'siri']
    list2 = ['zhangsan' , 1 , 2]
    list1.extend(list2)
    print(list1)
    '''
    输出:
    ['tom', 'lili', 'siri', 'zhangsan', 1, 2]
    '''

    insert():指定位置增加数据

    语法:列表序列名.insert(位置下标,数据)

    list1 = ['tom', 'lili', 'siri']
    list1.insert(1,'hong')
    print(list1)
    '''
    输出:
    ['tom', 'hong', 'lili', 'siri']
    '''

    2.4删除

    del

    语法:

    2.4.1 del 目标  或  del (目标)

    list1 = ['tom', 'lili', 'siri']
    del list1
    print(list1)
    '''
    输出:
    Traceback (most recent call last):
      File "C:/Users/as_sc/PycharmProjects/untitled/hm-python-day5/04-删除数据.py", line 4, in <module>
        print(list1)
    NameError: name 'list1' is not defined
    '''

    2.4.1 del 列表序列名[下标]

    list1 = ['tom', 'lili', 'siri']
    del list1[1]
    print(list1)
    '''
    输出:
    ['tom', 'siri']
    '''

    pop():删除指定下标位置数据(默认为最后一个数据),并返回该数据的值

    语法:列表序列名.pop(下标)

    list1 = ['tom', 'lili', 'siri']
    result = list1.pop()
    print(result)
    print(list1)
    '''
    输出:
    siri
    ['tom', 'lili']
    '''
    
    list1 = ['tom', 'lili', 'siri']
    result = list1.pop(1)
    print(result)
    print(list1)
    '''
    输出:
    lili
    ['tom', 'siri']
    '''

    remove():删除列表中某个数据的第一个匹配项

    语法: 列表序列名.remove(数据)

    list1 = ['tom', 'siri','tom', 'lili', 'tom', 'siri']
    list1.remove('tom')
    print(list1)
    
    '''
    输出:
    ['siri', 'tom', 'lili', 'tom', 'siri']
    '''

    clear(): 清空列表

    语法 : 列表序列名.clear()

    list1 = ['tom', 'siri','tom', 'lili', 'tom', 'siri']
    list1.clear()
    print(list1)
    '''
    输出:
    []
    '''

    2.5修改

    2.5.1按照指定下标修改

    list1 = ['tom', 'siri','tom', 'lili', 'tom', 'siri']
    list1[0] = 'ss'
    print(list1)
    '''
    输出:
    ['ss', 'siri', 'tom', 'lili', 'tom', 'siri']
    '''

    2.5.2逆置

    reverse():将列表的数据位置逆置

    语法:列表序列名.reverse()

    list1 = ['tom', 'siri','tom', 'lili', 'tom', 'siri']
    list1.reverse()
    print(list1)
    '''
    输出:
    ['siri', 'tom', 'lili', 'tom', 'siri', 'tom']
    '''

    2.5.3 排序

    sort():将列表按升序或降序排序

    语法: 列表序列名.sort(key = None, reverse =Flase) 

    注意:key是在字典排序时使用的,reverse表示排序规则,reverse = True为降序,reverse=False为升序(也是默认排序规则)

    list1 = [2,4,6,4,7,2,15,5,8]
    list1.sort()
    print(list1)
    list1.sort(reverse=False)
    print(list1)
    list1.sort(reverse=True)
    print(list1)
    '''
    输出:
    [2, 2, 4, 4, 5, 6, 7, 8, 15]
    [2, 2, 4, 4, 5, 6, 7, 8, 15]
    [15, 8, 7, 6, 5, 4, 4, 2, 2]
    '''

    2.5.4复制列表

    copy()

    语法: 列表序列名.copy()

    list1 = ['tom', 'siri','tom', 'lili', 'tom', 'siri']
    list2 = list1.copy()
    print(list2)
    '''
    输出:
    ['tom', 'siri', 'tom', 'lili', 'tom', 'siri']
    '''

    3.列表遍历

    while

    list1 = ['tom', 'siri','tom', 'lili', 'tom', 'siri']
    i = 0
    while i<len(list1):
        print(list1[i])
        i += 1
        
    '''
    输出:
    tom
    siri
    tom
    lili
    tom
    siri
    '''

    for

    list1 = ['tom', 'siri','tom', 'lili', 'tom', 'siri']
    for i in list1:
        print(i)
    '''
    输出:
    tom
    siri
    tom
    lili
    tom
    siri
    '''

    4.列表嵌套

    所谓列表嵌套就是一个列表里面包含了其他的子列表

    list1 = [['zhang', 'li', 'mo'], [1, 2, 4], ['ss','dd']]
    print(list1[2][0])
    print(list1[1][2])
    print(list1[0][1])
    '''
    输出:
    ss
    4
    li
    
    '''

    二.元组

    元组可以存多个数据,但元组的数据不能修改

    1.定义元组

    多个数据元组

    tuple1 = (1,2,3)

    单个数据元组

    tuple = (1,)

    注意:如果定义的元组只有一个数据,这个数据后面要加逗号,否则定义的数据类型不是元组,而是这个唯一的数据的数据类型

    tuple1 = (1, 2, 3)
    tuple2 = (1,)
    tuple3 = (1)
    print(type(tuple1))
    print(type(tuple2))
    print(type(tuple3))
    '''
    输出:
    <class 'tuple'>
    <class 'tuple'>
    <class 'int'>
    '''

    2.元组的操作

    元组不支持修改,只支持查找,具体如下:

    按下标查找

    tuple1 = (1, 2, 3)
    print(tuple1[0])
    print(tuple1[1])
    print(tuple1[2])
    '''
    输出:
    1
    2
    3
    '''

    index():语法与字符串、列表相同

    tuple1 = (1, 2, 3)
    print(tuple1.index(3))
    '''
    输出:
    2
    '''

    count():统计某个数据在元组中出现的次数

    len():统计元组的长度(元组中数据的个数)

    tuple1 = (1, 1, 1, 2, 2, 3)
    print(tuple1.count(1))
    print(len(tuple1))
    '''
    输出:
    3
    6
    '''

    元组中的数据直接修改会报错,但如果元组中列表,修改列表中的数据,这个操作是支持的

    tuple1 = ('ww', 1, 'ds', ['qw', 1, 2, 'tf'], 3)
    tuple1[3].append('as_scheduled')
    print(tuple1)
    '''
    输出:
    ('ww', 1, 'ds', ['qw', 1, 2, 'tf', 'as_scheduled'], 3)
    '''
  • 相关阅读:
    文件操作
    验证进程 及jion方法
    进程笔记
    网络通信名词总结
    网络QQ聊天代码实例
    网络通信 粘包和 缓冲器
    udp
    UVALive 3983 Robotruck (单调队列,dp)
    UVA 10891 Game of Sum (决策优化)
    Uva 10635 Prince and Princess (LCS变形LIS)
  • 原文地址:https://www.cnblogs.com/scheduled/p/13832286.html
Copyright © 2011-2022 走看看