python——列表

    xiaoxiao2025-02-19  82

    1、列表的创建

    序列是Python中最基本的数据结构。
    列表是最常用的Python数据类型。
    列表的数据项不需要具有相同的类型
    序列都可以进行的操作包括索引,切片,加,乘,检查成员等。
    序列中的每个元素都分配一个索引,第一个索引是0,第二个索引是1,依此类推。

    2、列表的创建

    创建一个列表,只要使用逗号作为分隔符号,将不同的数据项隔开并使用方括号括起来

    列表里面也可以嵌套列表

    数组:存储同一种数据类型的集合 scores = [12,23,45] 列表(打了激素的数组):可以存储任意数据类型

    list = [1,1.2,True,'westos'] print(list,type(list)) 包含整数,浮点型,bool型,字符串 >>> list= [1,1.2,True,'westos'] >>> print(list,type(list)) ([1, 1.2, True, 'westos'], <type 'list'>) >>>

    3、列表的特性

    索引

    正向索引 print(service[0])

    >>> service = ['ftp','http','https'] >>> print(service[0]) 从左到右引为0的元素 ftp >>>

    反向索引 print(service[-1])

    >>> service = ['ftp','http','https'] >>> print(service[-1]) 从右到左第一个元素 https >>>

    切片 print(service[::-1]) print(service[1:]) print(service[:-1])

    >>> service = ['ftp','http','https'] >>> print(service[::-1]) 元素列表反转 ['https', 'http', 'ftp'] >>> print(service[1:]) 查看除去第一个元素的所有元素 ['http', 'https'] >>> print(service[:-1]) 查看除去最后一个元素的所有元素 ['ftp', 'http'] >>>
    重复
    生成一个新的列表将源列表重复n次:格式 list * n
    print(service * 3)
    >>> service = ['ftp','http','https'] >>> print (service * 3) ['ftp', 'http', 'https', 'ftp', 'http', 'https', 'ftp', 'http', 'https']
    连接

    将两个列表合并成一个列表 :格式 list1 + list2

    >>> name = ['lala','toto','haha','dodo'] #第一个列表 >>> name1 = ['qoqo','wowo'] #第二个列表 >>> name + name1 #合并列表 ['lala', 'toto', 'haha', 'dodo', 'qoqo', 'wowo'] #生成一个新的列表

    5 成员操作符

    in #判断元素是否属于该列表 属于为真 不属于为假 not in #判断元素是否不属于该列表 属于为真 不属于为假

    >>> service = ['ftp','http','https'] >>> print ('firewall' in service) False >>> print ('http' in service) True >>> print ('mysql' not in service) True
    练习

    1 假定有下面这样的列表:

    names = [‘fentiao’, ‘fendai’, ‘fensi’, ‘apple’]

    输出结果为:‘I have fentiao, fendai, fensi and apple.’

    names = ['fentiao', 'fendai', 'fensi', 'apple'] print('I have ' + ','.join(names[:-1]) +' and ' + names[-1] )

    2 题目:输入某年某月某日(yyyy-MM-dd),判断这一天是这一年的第几天?

    date=input('请输入日期: ') date1=date.split('-') year=int(date1[0]) mon=int(date1[1]) day=int(date1[2]) k=0 list1=[0,31,28,31,30,31,30,31,31,30,31,30,31] list2=[0,31,29,31,30,31,30,31,31,30,31,30,31] if (year@0 == 0 or (year%4 == 0 and year0 != 0)) : for i in list2[:mon] : k+=i print('第%d 天' %(k+day)) else : for i in list1[:mon] : k+=i print('第%d 天' %(k+day))
    6 列表元素的增加

    1 append(元素)追加一个元素到列表,默认添加到末尾

    >>> name = ['lala','toto','haha','dodo'] #定义列表 >>> name.append('tete') #追加一个元素到列表 >>> name ['lala', 'toto', 'haha', 'dodo', 'tete'] # 显示追加之后的列表
    2 extend() 追加多个元素到列表中
    >>> name1 = ['qoqo','wowo'] #定义列表 >>> name1.extend(['lala']) # 追加一个元素 >>> name1.extend(['lele','tete']) #追加两个元素 >>> name1 ['qoqo', 'wowo', 'lala', 'lele', 'tete']
    3 insert() 在指定索引处插入元素
    >>> s = ['shanxi','henan','tianjin'] # 定义列表 >>> s.insert(1,'hebei') # 在索引1 处插入元素 hebei >>> s ['shanxi', 'hebei', 'henan', 'tianjin'] # 成功 >>> s.insert(0,'beijing') # 在索引0处 插入元素beijing >>> s ['beijing', 'shanxi', 'hebei', 'henan', 'tianjin'] # 成功

    7 列表元素的删除

    1 pop()#默认删除列表的最后一个元素,可以在括号中指定要删除的元素的索引。

    注意:使用pop()删除的元素可以由另外一个变量进行接收

    >>> s ['beijing', 'shanxi', 'hebei', 'henan', 'tianjin'] # 列表中的所有元素 >>> s.pop() # 默认删除列表最后一个元素 'tianjin' >>> s ['beijing', 'shanxi', 'hebei', 'henan'] # 删除之后的列表 >>> s.pop(0) # 指定索引删除特定的元素 'beijing' >>> s ['shanxi', 'hebei', 'henan'] >>> a = s.pop() # 将删除的元素由变量a接受 >>> a # a的值为刚刚被删除的元素 'henan' >>>
    2 remove():删除列表元素,通过指定元素内容来对元素进行删除,并且被删除的元素不能被变量接收
    >>> name ['lala', 'toto', 'haha', 'dodo', 'tete'] >>> name.remove('lala') # 删除lala >>> name ['toto', 'haha', 'dodo', 'tete'] >>> a=name.remove('toto') # 想将删除的toto让变量a 接收 >>> a # 并没有接收成功
    3 del 变量 : 直接从内容中删除
    >>> name1 ['qoqo', 'wowo', 'lala', 'lele', 'tete'] >>> del name1[0] # 直接从内存中删除第一个元素 >>> name1 ['wowo', 'lala', 'lele', 'tete']
    8 列表元素的查看
    1 count() 查看元素在列表中出现的次数
    >>> s = ['haha','lele','toto','toto','haha','toto'] # 定义列表 >>> s.count('toto') # 查看toto在该列表中出现的次数 3 >>> s.count('lele') # 查看lele在该列表中出现的次数 1 >>> s.count('haha') # 查看haha在该列表中出现的次数 2 >>> s.count('lala') # 查看lala在该列表中出现的次数 0
    2 index(元素,start,stop)) :查看指定元素的索引值,并返回最小索引,也可以指定在一定的索引范围内搜索指定的元素,返回最小索引值。
    >>> s ['haha', 'lele', 'toto', 'toto', 'haha', 'toto'] # 定义列表 >>> s.index('toto') # 不指定的话在全列表中搜索toto 并返回最小索引 2 >>> s.index('toto',3,4) # 在指定的索引范围内 搜索toto,并返回最小索引 3 >>> s.index('toto',3,5) # 在指定的索引范围内 搜索toto,并返回最小索引 3
    9 列表元素的排序

    默认是按照Ascii码进行排序的

    sort() #正序 sort(reverse=True) #倒序 sort(key=str.upper) # 忽略大小写

    >>> s = ['a','f','A','H'] # 定义字符串 >>> s.sort() # 按照ascii 码进行排序 >>> s ['A', 'H', 'a', 'f'] # 排序结果 >>> s.sort(reverse=True) # 倒叙=倒序 >>> s ['f', 'a', 'H', 'A'] # 排序结果 >>> s.sort(key=str.upper) # 忽略大小写进行排序 >>> s ['a', 'A', 'f', 'H'] #排序结果 >>>

    10 随即打乱列表中元素的顺序

    import random # 安装模块

    random.shuffle(列表) # 打乱列表中元素的顺序

    >>> import random # 加载模块 >>> a = list(range(10)) # 生成列表 >>> a [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 列表原来的内容 >>> random.shuffle(a) # 打乱列表元素顺序 >>> a [2, 0, 7, 3, 6, 4, 1, 9, 5, 8] # 打乱之后的列表 >>> b = ['c','d','e','f','g'] # 列表原来的内容 >>> random.shuffle(b) >>> b ['c', 'g', 'f', 'e', 'd'] # 打乱之后的列表

    练习:

    题目:输入三个整数x,y,z,请把这三个数由小到大输出:

    num = input('请按照格式X,Y,Z 依次输入数字 : ') num1 = num.split(',') a =int(num1[0]) b=int(num1[1]) c=int(num1[-1]) li=[a,b,c] li.sort() print(li)
    最新回复(0)