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

列表的定义

#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. 【VBA研究】Excel VBA利用ADODB访问数据库使用小结

    [转自] http://blog.csdn.net/iamlaosong/article/details/18043433 作者:iamlaosong ▲连接Oracle数据库 Set cnn = C ...

  2. PIE SDK地图书签

    地图书签,可以理解为暂时记录当前地图的范围和放大级别,在后续的操作中如果想回到地图之前的状态,就可以点击保存的书签就可以回到此状态,如图所示: 地图刚加载的时候是一幅世界地图 我们将地图的中心拖到南美 ...

  3. CentOS(Linux)主机名字前多了 (base),如何取消和添加

    我们知道IDE中有显示或隐藏某个选项/页面的功能,我们想要修改这个参数,一般都会到设置(settings)中去找.那么与之对应的,Linux上这个终端对应的设置也应该找设置文件. Terminal对应 ...

  4. Docker学习笔记--Docker 启动nginx实例挂载目录权限不够(转)

    今天在启动一个docker 运行nginx实例,在挂载目录时,出现访问静态目录时,权限不够 执行的命令是: docker run --name my-nginx -d -p 80:80 --resta ...

  5. Spring Cloud Zuul实现动态路由

    1.添加依赖 2.启动类上添加注解 3.配置文件 zuul.ignored-services配置需要忽略的服务,多个用逗号分隔 注释zuul.ignored-services 前: 注释zuul.ig ...

  6. win7与ubuntu双系统安装

    机器型号:联想V470 对系统引导一直不是很明白,导致我出现几次失败. 一直挺喜欢ubuntu的,因为,第一我感觉它比较友好,第二我初次接触linux就是ubuntu,当初还是同学帮助我wubi进行安 ...

  7. [转]ClassPath是什么

    from: https://my.oschina.net/GivingOnenessDestiny/blog/603505 classpath 是什么classpath实际上就是编译后的 以 clas ...

  8. TOJ 3744 Transportation Costs

    描述 Minya Konka decided to go to Fuzhou to participate in the ACM regional contest at their own expen ...

  9. Android开发_如何调用系统默认浏览器访问

    Android开发_如何调用系统默认浏览器访问 2015-10-20 17:53 312人阅读  http://blog.sina.com.cn/s/blog_6efce07e010142w7.htm ...

  10. [转]微信小程序,开发大起底

    本文转自:http://blog.csdn.net/baiyuzhong2012/article/details/54378497 作者简介:张智超,北京微函工坊开发工程师,CSDN微信开发知识库特邀 ...