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 = '\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的更多相关文章
- python入门之列表
1.列表基本格式# list 类 列表li = [1, 2, 3, "sb", ["时间",[9, 10], "huang"], 6, 7, ...
- python入门-操作列表
1 Python根据缩进来进行判断代码行与前一个代码行的关系 for name in names: print(name) names = ['baker','david','philp','rose ...
- Python入门篇-基础数据类型之整型(int),字符串(str),字节(bytes),列表(list)和切片(slice)
Python入门篇-基础数据类型之整型(int),字符串(str),字节(bytes),列表(list)和切片(slice) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Py ...
- 大爽Python入门教程 2-2 序列: 字符串、元组与列表
大爽Python入门公开课教案 点击查看教程总目录 序列 序列(sequence): 顾名思义,有序的排列. 有序排列的一串数据. 一种容器,容器内成员有序排列. python的字符串str,元组tu ...
- 大爽Python入门教程 2-3 字符串,列表,字典
大爽Python入门公开课教案 点击查看教程总目录 除了通用的序列方法, 列表和字符串还有些自己的专属方法. 后面介绍有些是英中文对照介绍(英文来自官方文档), 便于大家更深入的去理解其意思. 灵活的 ...
- python入门(12)dict
python入门(12)dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度. 举个例 ...
- python入门学习:3.操作列表
python入门学习:3.操作列表 关键点:列表 3.1 遍历整个列表3.2 创建数值列表3.3 使用列表3.4 元组 3.1 遍历整个列表 循环这种概念很重要,因为它是计算机自动完成重复工作的常 ...
- python入门学习:2.列表简介
python入门学习:2.列表简介 关键点:列表 2.1 列表是什么2.2 修改.添加和删除元素2.3 组织列表 2.1 列表是什么 列表,是由一系列按特定顺序排列的元素组成.你可以创建包含字母表 ...
- 『Python基础-12』各种推导式(列表推导式、字典推导式、集合推导式)
# 『Python基础-12』各种推导式(列表推导式.字典推导式.集合推导式) 推导式comprehensions(又称解析式),是Python的一种独有特性.推导式是可以从一个数据序列构建另一个新的 ...
随机推荐
- Linux下Tomcat启动报 The BASEDIR environment variable is not defined
今天是2017年2月27.在Linux下部署Tomcat官网下载的Tomcat 8.5,结果启动startup.sh报如下错,即使只是跑version.sh也报同样的错. $ ./version.sh ...
- like模糊查询%注入问题
android like 全局模糊查找文件命名 通过条件通过 like %search% 如果查找的关键字是% 那么就成了 like %%% 就会查找出所有的文件 解决办法是先把正则里面的匹配符 替换 ...
- css使用text-align: justify不能实现两段对其的问题解决方式
一行文本不进行处理.还有就是强制换行的也不处理.所以你强制占满(在后面加个span)了一行他才处理 <p class="home">test test test < ...
- phpstorm主题设置
毫无疑问,phpstorm很好用,但是安装完成后自带的主题,丑的一匹,所以总结下如何更换主题............. 1.主题下载位置 http://www.phpstorm-themes.com ...
- Win10新建分区
今天忽然觉得将系统分为四个盘,有点无法将分类分开,所以增加了几个分区: 1.windows+X键在弹出的对话框中选择磁盘管理,进入如下界面: 2.如果你想从某个盘分出一些内存建立一个新的分区,就在这个 ...
- 基于RBAC模式的权限管理系统设计概要
很多人都知道以角色为基础的权限管理设计(RBAC),但是大部分人似懂非懂,不知道完整的权限管理系统都包括哪些内容. 在此以权限管理的使用场景来说明一下完整的权限管理内容. 一是鉴权管理,即权 ...
- What's the difference between @Component, @Repository & @Service annotations in Spring?
@Component is equivalent to <bean> @Service, @Controller , @Repository = {@Component + some mo ...
- js获取文件输入框的真实目录
1.问题 页面有一个input file服务器控件,一个div,div是image标签的容器,当点击input file的值改变,我们往div里追加image标签: 但当通过js的onchange事件 ...
- MVC设置默认页面
方法1:在RouteConfig.cs文件中配置默认路由 public class RouteConfig { public static void RegisterRoutes(RouteColle ...
- [LeetCode]20. Valid Parentheses有效的括号
Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the inpu ...