python基本数据类型之列表list
list的基本功能
- 结果类型 中括号括起来
- 逗号(,)分割每一个元素
- 列表中的元素可以是数字,字符串,列表,布尔值所有的都能放
- 索引,切片
|
1
2
3
|
li = [1, 3, 5, "jianer", ["病毒尖儿",18],"cat"]print(li[1]) # 索引取值print(li[2:4]) # 切片取值(切片的结果也是列表) |
- 支持for循环
|
1
|
li = [1, 3, 5, "jianer", ["病毒尖儿",18],"cat"]<br>for item in li: # for循环列表<br> print(item) |
- 支持while循环
- 索引删除,切片删除
|
1
2
3
4
5
|
li = [1, 3, 5, "jianer", ["病毒尖儿",18],"cat"]del li[0] # 索引删除print(li)del li[0:3] # 切片删除print(li) |
- 索引修改,切片修改
|
1
2
3
4
5
|
li = [1, 3, 5, "jianer", ["病毒尖儿",18],"cat"]li[0] = 88 # 索引修改print(li)li[0:3] = 7,8,9 # 切片修改print(li) |
- in操作
|
1
2
3
|
li = [1, 3, 5, "jianer", ["病毒尖儿",18],"cat"]v = 3 in(li) # in操作print(v) |
- 索引找值
|
1
2
3
|
li = [1, 3, 5, "jianer", ["病毒尖儿",18],"cat"]v = li[4][0][2] # 索引找并打印 print(v) |
转换
- 列表转换成字符串
- 需要自己写for循环一个一个处理:既有数字又有字符串
- 直接使用字符串join方法:只有字符串
list的方法(魔法)
需要记忆的魔法有:append(追加),extend(扩展),insert(插入)
append 原来值最后追加,数字,字符,列表都可以进行追加
|
1
2
3
|
li = [6,8,7,5,8]li.append(2) # 追加再最后 原来值再后面追加,因此不用赋予新的值print(li) |
clear 清空列表
|
1
2
3
|
li = [6,8,7,5,8]li.clear() # 清空列表print(li) |
copy 拷贝(浅拷贝)
|
1
2
3
|
li = [6,8,7,5,8]v = li.copy() # 拷贝,浅拷贝print(li) |
count 计数(计算元素出现的次数)
|
1
2
3
|
li = [6,8,7,5,8]v = li.count(8) # 计算元素出现的次数print(v) |
extend 扩展原列表,参数可迭代对象(数字不能扩展,数字不可迭代)
|
1
2
3
|
li = [6,8,7,5,8]li.extend("b") # 扩展追加。print(li) |
index 根据值获取值的指引位置
|
1
2
3
|
li = [6,8,7,5,8]v = li.index(8) # 根据值获取值的索引位置print(v)<br><br>1 重复字符,获取最左边位置,便不再寻找 |
insert 插入,也可以根据指引位置插入元素
|
1
2
3
|
li = [6,8,7,5,8]li.insert(2,"b") # 前面参数指定索引,逗号分隔,加要插入的元素print(li) |
pop 可索引删除某个值,无索引则默认删除最后一个值,赋予一个值也可以获得被删除的值
|
1
2
3
4
|
li = [6,8,7,5,8]v = li.pop(2) # 指定索引删除,无索引则默认删除最后一个值,也可以获取删除的值print(li)print(v) |
remove 删除列表指定值,左边优先
|
1
2
3
|
li = [6,8,7,5,8]li.remove(8) # 删除列表指定值,从左优先print(li) |
reverse 将当前列表进行反转
|
1
2
3
|
li = [6,8,7,5,8]li.reverse() # 将当前列表进行反转print(li) |
sort 排序,有秩序的排序。
|
1
2
3
|
li = [6,8,7,5,8]li.sort(reverse=True) # 当反转正确,则从大到小排序print(li) |
列表推导式
列表推导式提供了从序列创建列表的简单途径。通常应用程序将一些操作应用于某个序列的每个元素,用其获得的结果作为生成新列表的元素,或者根据确定的判定条件创建子序列。
每个列表推导式都在 for 之后跟一个表达式,然后有零到多个 for 或 if 子句。返回结果是一个根据表达从其后的 for 和 if 上下文环境中生成出来的列表。如果希望表达式推导出一个元组,就必须使用括号。
vec = [2,4,6]
go = [3*x for x in vec]
print(go) [6, 12, 18] # 这里我们将每个数据乘以三,获取一个新列表
freshfruit = [' banana', ' loganberry ', 'passion fruit ']
go = [weapon.strip() for weapon in freshfruit]
print(go) ['banana', 'loganberry', 'passion fruit'] #对序列每个元素逐个调用方法
也可以用if子句作过滤
vec = [2,4,6]
go = [x for x in vec if x >3]
print(go) [4, 6]
其它一些示例
>>> vec1 = [2, 4, 6]
>>> vec2 = [4, 3, -9]
>>> [x*y for x in vec1 for y in vec2]
[8, 6, -18, 16, 12, -36, 24, 18, -54]
>>> [x+y for x in vec1 for y in vec2]
[6, 5, -7, 8, 7, -5, 10, 9, -3]
>>> [vec1[i]*vec2[i] for i in range(len(vec1))]
[8, 12, -54]
其它示例
python基本数据类型之列表list的更多相关文章
- Python特色数据类型(列表)(上)
Python从零开始系列连载(9)——Python特色数据类型(列表)(上) 原创 2017-10-07 王大伟 Python爱好者社区 列表 列表,可以是这样的: 分享了一波我的网易云音乐列表 今天 ...
- python基本数据类型之列表和元组
python基本数据类型之列表与元组 python中list与tuple都是可以遍历类型.不同的是,list是可以修改的,而元组属于不可变类型,不能修改. 列表和元组中的元素可以是任意类型,并且同一个 ...
- Python的数据类型2列表
Python的数值类型List,也就是列表 Python的列表比较类似与其他语言的数组概念,但他又与其他语言数组的概念有很大的不同 C语言.Java的数组定义是这样的,存储多个同类型的数值的集合就叫数 ...
- Python - 基础数据类型 list 列表
什么是列表 列表是一个有序的序列 列表中所有的元素放在 [ ] 中间,并用逗号分开 一个 列表 可以包含不同类型的元素,但通常使用时各个元素类型相同 特征 占用空间小,浪费内存空间少 声明列表变量 列 ...
- Python基础数据类型之列表和元组
一.列表 list 列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如: li ...
- python基础数据类型--list列表
列表: 列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如: li = [‘alex ...
- python 基础数据类型 之 列表
列表:定义 和特性 列表定义和创建: 定义:[,]内以逗号分隔,按照索引,存放各种数据类型,一般没有限制,每个位置代表一个元素 range_create = list(range(0, 10))pri ...
- Python基本数据类型之列表
学习Python的列表类型需要了解和掌握什么是列表.列表的可变性.列表的访问.列表的增删改查等操作~ 1.了解列表 list1 = ['abc', 123, {1, 2, 3},[2,3]] Pyth ...
- python基础数据类型之列表,元组操作
一.列表的索引和切片1.列表的索引列表和字符串一样样拥有索引 lst = ["a","b","c"] print(lst[0]) # 获取第 ...
- python的数据类型之列表list
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现.例如: stus = ["zhangsan","lisi","wangwu ...
随机推荐
- EKF优化:协方差coff计算公式、意义、Code优化
复习!复习! 原文链接:http://blog.csdn.net/goodshot/article/details/8611178 1.代码: Matlab相关系数的意义: Eigen::Matrix ...
- 【sqli-labs】 less28a GET- Blind based -All you Union&Select Belong to us -String -Single quote-parenthesis(GET型基于盲注的去除了Union和Select的单引号带括号字符型注入)
和less28没什么区别,直接上个payload吧 http://192.168.136.128/sqli-labs-master/Less-28a/?id=0')%a0uNion%a0sElect% ...
- (转)基于Metronic的Bootstrap开发框架经验总结(5)--Bootstrap文件上传插件File Input的使用
http://www.cnblogs.com/wuhuacong/p/4774396.html Bootstrap文件上传插件File Input是一个不错的文件上传控件,但是搜索使用到的案例不多,使 ...
- 【剑指Offer】52、正则表达式匹配
题目描述: 请实现一个函数用来匹配包括'.'和'*'的正则表达式.模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次). 在本题中,匹配是指字符串的所有字符匹 ...
- android apk的签名和权限问题
一. android apk的签名问题(http://blog.csdn.net/lyq8479/article/details/6401093) 1.为什么要给Android应用程序签名? ...
- Google JavaScript Style Guide
转自:http://google.github.io/styleguide/javascriptguide.xml Google JavaScript Style Guide Revision 2.9 ...
- [Ynoi2011]D1T1
题目大意: 给定一个序列$a_1,a_2,\dots,a_n$,进行$m$次操作,每次操作如下: 1. 给定$x,y,z$,对所有下标为$y,y+x,y+2x,\dots$的元素加上$z$(保证$y\ ...
- 用 Vue 做一个简单的购物app
前言 最近在学习Vue的使用.看了官方文档之后,感觉挺有意思的.于是着手做了一个简单的购物app.h5 与原生 app 交互的原理这是我第一次在这个网站上写分享,如有不当之处,请多多指教. 一整个项目 ...
- Leetcode 887 Super Egg Drop(扔鸡蛋) DP
这是经典的扔鸡蛋的题目. 同事说以前在uva上见过,不过是扔气球.题意如下: 题意: 你有K个鸡蛋,在一栋N层高的建筑上,被要求测试鸡蛋最少在哪一层正好被摔坏. 你只能用没摔坏的鸡蛋测试.如果一个鸡蛋 ...
- 【ACM】hdu_zs2_1003_Problem C_201308031012
Problem C Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other)Total Subm ...