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

列表的定义

#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 = '\t')
'''切片'''
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(['','']) #追加列表
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 = ['','','','']
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!

python入门12 列表list的更多相关文章

  1. python入门之列表

    1.列表基本格式# list 类 列表li = [1, 2, 3, "sb", ["时间",[9, 10], "huang"], 6, 7, ...

  2. python入门-操作列表

    1 Python根据缩进来进行判断代码行与前一个代码行的关系 for name in names: print(name) names = ['baker','david','philp','rose ...

  3. Python入门篇-基础数据类型之整型(int),字符串(str),字节(bytes),列表(list)和切片(slice)

    Python入门篇-基础数据类型之整型(int),字符串(str),字节(bytes),列表(list)和切片(slice) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Py ...

  4. 大爽Python入门教程 2-2 序列: 字符串、元组与列表

    大爽Python入门公开课教案 点击查看教程总目录 序列 序列(sequence): 顾名思义,有序的排列. 有序排列的一串数据. 一种容器,容器内成员有序排列. python的字符串str,元组tu ...

  5. 大爽Python入门教程 2-3 字符串,列表,字典

    大爽Python入门公开课教案 点击查看教程总目录 除了通用的序列方法, 列表和字符串还有些自己的专属方法. 后面介绍有些是英中文对照介绍(英文来自官方文档), 便于大家更深入的去理解其意思. 灵活的 ...

  6. python入门(12)dict

    python入门(12)dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度. 举个例 ...

  7. python入门学习:3.操作列表

    python入门学习:3.操作列表 关键点:列表 3.1 遍历整个列表3.2 创建数值列表3.3 使用列表3.4 元组 3.1 遍历整个列表   循环这种概念很重要,因为它是计算机自动完成重复工作的常 ...

  8. python入门学习:2.列表简介

    python入门学习:2.列表简介 关键点:列表 2.1 列表是什么2.2 修改.添加和删除元素2.3 组织列表 2.1 列表是什么   列表,是由一系列按特定顺序排列的元素组成.你可以创建包含字母表 ...

  9. 『Python基础-12』各种推导式(列表推导式、字典推导式、集合推导式)

    # 『Python基础-12』各种推导式(列表推导式.字典推导式.集合推导式) 推导式comprehensions(又称解析式),是Python的一种独有特性.推导式是可以从一个数据序列构建另一个新的 ...

随机推荐

  1. Oracle笔记-Multitable INSERT 的用法

    [转自]  http://blog.chinaunix.net/uid-8504518-id-3310531.html 为避免日趋衰退的记忆力,参考官方E文文档<Introduction to ...

  2. 剑指offer——面试题14:剪绳子

    // 面试题14:剪绳子 // 题目:给你一根长度为n绳子,请把绳子剪成m段(m.n都是整数,n>1并且m≥1). // 每段的绳子的长度记为k[0].k[1].…….k[m].k[0]*k[1 ...

  3. Linux快捷指令

    Linux创建一个快捷指令,直接跳转到某个目录中的某个文件 创建快捷指令命令: $ ln -s 源目录 目标快捷方式 删除快捷指令命令: $ unlink 快捷方式名 eg:比如我想在 /usr 目录 ...

  4. linux 安装maven,注意下载-bin.tar.gz文件

    先去http://maven.apache.org/download.cgi下载对应的版本然后放到服务器上/var/local文件夹下面, 此处使用的是apache-maven-3.5.2-bin.t ...

  5. springboot+Zookeeper+Dubbo入门

    最近想学习dubbo,就利用周末写了一个特别简单的demo,不知道有没有用,先记录一下. 1.安装zookeeper并启动(安装看我上一篇博客https://www.cnblogs.com/huang ...

  6. 0325img和超链接的学习

    上午学习了cellspacing\cellpadding,img标签以及三种属性,src,alt,title.下午学习了超链接<a></a>,绝对路径与相对路径,锚点链接的使用 ...

  7. 理解 glibc malloc:主流用户态内存分配器实现原理

    https://blog.csdn.net/maokelong95/article/details/51989081 Understanding glibc malloc 修订日志: 2017-03- ...

  8. HDFS基本shell操作

    在客户端输入Hadoop fs,可以查看所有的,hadoop shell # -help [cmd] //显示命令的帮助信息,如: hadoop fs -help ls # -ls(r) <pa ...

  9. hibernate框架的搭建

    1 导入所需的jar包 1 导入hibernate必须的jar包 2 导入驱动包 2 创建数据库,准备表,实体 1 创建hibernate数据库 CREATE DATABASE hibernate; ...

  10. console命令详解:(转载学习)

    Console命令详解,让调试js代码变得更简单   Firebug是网页开发的利器,能够极大地提升工作效率. 但是,它不太容易上手.我曾经翻译过一篇<Firebug入门指南>,介绍了一些 ...