zoukankan      html  css  js  c++  java
  • python入门12 列表list

    列表使用率较高,方法也多。

    列表的定义

    #coding:utf-8
    #/usr/bin/python
    """
    2018-11-10
    dinghanhua
    列表
    """
    
    '''列表 可变数据类型 序列的一种 使用率比较高'''
    li = [1,2,3,4]
    li2 = ['mon','tue','wed','thu','fri','sat','sun']
    li3 = [(1,2),'string',['list']]
    li4 = [[1,'apple'],[2,'banana'],[3,'pear']]

    列表的操作:

    '''索引'''
    print(li[0],li[1],li3[-1])
    
    for l in li2:
        print(l,end = ' ')
    for index in range(len(li2)):
        print(li2[index],end = '	')
    '''切片'''
    print(li[:])
    print(li2[::2]) #每2个取一个
    print(li2[:-2])
    print(li2[1:5])
    print(li2[-2:-1])
    print(li2[::-1]) #翻转
    print(li2[::-2])
    '''批量修改、插入、删除数据'''
    li2[:5] = ['周一','周二','周三','周四','周五']
    print('批量修改之后:',li2)
    li2[5:] = []
    print( '批量删除之后:',li2)
    li2[5:-1] = ['周六','周日']
    print( '批量追加之后:',li2)
    li2[5:5] = ['随便插入']
    print( '批量插入之后:',li2)
    li2[:] = []
    print( '清空列表:',li2)
    li2[:] = ['周一','周二','周三','周四','周五']
    '''删除数据'''
    del li2[4] #删除索引对应的值
    print(li2)
    del li2 #删除列表引用
    '''列表常用函数'''
    li = ['mon','tue','wed','thu','fri','sat','sun']

    #最大max 最小min
    print('max=%s,min=%s'%(max(li),min(li))) li.append(
    'none') print('append 追加一个元素 :',li) print('mon的个数',li.count('mon')) li.insert(1,[1,2]) #插入 print(li) print(li.index([1,2])) #列表中第一个匹配值的索引 ele = li.pop() #弹出最后一个元素并返回 print(ele,li) ele = li.pop(1) #弹出索引对应的元素 print(ele,li) li.extend(['1','2']) #追加列表 print(li) li5 = li.copy() #复制 print(li5,li) li5.remove('wed') #删除对象 print('remove:',li5) li5.reverse() #翻转 print('reverse:',li5) li.sort() #排序 print('sort:',li) li.sort(reverse = True) print('sort(reverse):',li) li.sort(key = len) print('sort(key=len),',li) #sort改变原list print('sorted函数',sorted(li,key = len,reverse = True)) #sorted不改变原list li.clear() #清空 print(li)
    '''*列表复制多个  +列表连接'''
    linew = li * 2
    print(linew)
    
    linew = li + li3
    print(linew)
    
    linew += ['test']
    print(linew)
    '''列表生成器'''
    li = [1,2,3,4,5,6]
    
    li2 = [x**3 for x in li] #list的每个值的三次方
    print(li2)
    
    li3 =[x**2  for x in li[1::2]] #偶数位置元素的平方,从index=1开始取,每隔2位取一个
    print(li3)
    
    li1 = [1,2,3,4]
    li2 = [5,6,7,8]
    li3 = [ x+y for x in li1 for y in li2  if x%2==0 and y%2==0 ]#li1,li2中偶数相加组成的列表
    print(li3)
    '''多维列表'''
    li = [['title','pubdate','author'],['python','2018-09-01','Praul']]
    #取author的值
    if 'author' in li[0]:
        index = li[0].index('author')
        author = li[-1][index]
        print('author:',author)
    '''zip() 将多个可迭代对象的值挨个取出打包成的tuple,返回tuple的list'''
    li  = [['title','pubdate','author','desc'],['python','2018-09-01','Praul']]
    li_zip = zip(li[0],li[1])
    print(li_zip)
    for ele in li_zip:
        print(ele)
    '''map(func,iter) 可迭代对象每个元素执行func函数 '''
    li_map = map(max,li[0],li[1])
    print(type(li_map))
    for ele in li_map:
        print(ele)
    '''类型转换'''
    #list to tuple
    li = ['1','2','3','4']
    tu = tuple(li)
    
    #list to string
    print(tu)
    str1 = ''.join(li) #列表项的连接
    print(str1)
    str2 = str(li)
    print(str2) #整个列表作为字符串
    
    # string to list
    li_str = list(str1)
    print('str to list:',li_str)
    
    li_str2 = list('[1,2,3,4]') #每个字符均转成元素
    li_str3 = eval('[1,2,3,4]') #保持原样转成list
    print(li_str2)
    print(li_str3)

    the end!

  • 相关阅读:
    【WebService】WebService之WSDL文档深入分析(三)
    Android开发——发布第三方库到JitPack上
    Android破解学习之路(七)—— 乐秀视频编辑 内购破解 专业版 价值40元的破解
    Android破解心得——记学习七少月安卓大型安全公开课
    【转】Android播放音频MediaPlayer的几种方式介绍
    Android开发——EditText的属性使用
    Android开发——Fragment的简单使用总结
    Android开发——签名包的生成
    Android Stuido xml使用app属性没有提示代码
    Android开发——设置界面的创建
  • 原文地址:https://www.cnblogs.com/dinghanhua/p/9940968.html
Copyright © 2011-2022 走看看