Python列表list数组array用法实例解析


Posted in Python onOctober 28, 2014

本文以实例形式详细讲述了Python列表list数组array用法。分享给大家供大家参考。具体如下:

Python中的列表(list)类似于C#中的可变数组(ArrayList),用于顺序存储结构。
 
创建列表
 

sample_list = ['a',1,('a','b')]

 
Python 列表操作
sample_list = ['a','b',0,1,3]

 
得到列表中的某一个值
value_start = sample_list[0]  

end_value = sample_list[-1]

 
删除列表的第一个值
del sample_list[0]

 
在列表中插入一个值
sample_list[0:0] = ['sample value']

 
得到列表的长度
list_length = len(sample_list)

 
列表遍历
for element in sample_list:  

print(element)

 
Python 列表高级操作/技巧
 
产生一个数值递增列表
num_inc_list = range(30)  

#will return a list [0,1,2,...,29]

 
用某个固定值初始化列表
initial_value = 0  

list_length = 5  

sample_list = [ initial_value for i in range(10)]  

sample_list = [initial_value]*list_length  

# sample_list ==[0,0,0,0,0]

 
附:python内置类型'

1、list:列表 (即动态数组,C++标准库的vector,但可含不同类型的元素于一个list中)

a = ["I","you","he","she"]      #元素可为任何类型。

 
下标:按下标读写,就当作数组处理
以0开始,有负下标的使用
0第一个元素,-1最后一个元素,
-len第一个元 素,len-1最后一个元素

取list的元素数量

len(list)   #list的长度。实际该方法是调用了此对象的__len__(self)方法。

 
创建连续的list
L = range(1,5)      #即 L=[1,2,3,4],不含最后一个元素

L = range(1, 10, 2) #即 L=[1, 3, 5, 7, 9]

 
list的方法
L.append(var)   #追加元素

L.insert(index,var)

L.pop(var)      #返回最后一个元素,并从list中删除之

L.remove(var)   #删除第一次出现的该元素

L.count(var)    #该元素在列表中出现的个数

L.index(var)    #该元素的位置,无则抛异常

L.extend(list)  #追加list,即合并list到L上

L.sort()        #排序

L.reverse()     #倒序

list 操作符:,+,*,关键字del

a[1:]       #片段操作符,用于子list的提取

[1,2]+[3,4] #为[1,2,3,4]。同extend()

[2]*4       #为[2,2,2,2]

del L[1]    #删除指定下标的元素

del L[1:3]  #删除指定下标范围的元素

list的复制

L1 = L      #L1为L的别名,用C来说就是指针地址相同,对L1操作即对L操作。函数参数就是这样传递的

L1 = L[:]   #L1为L的克隆,即另一个拷贝。

list comprehension

[ <expr1> for k in L if <expr2> ]

 
2、dictionary: 字典(即C++标准库的map)
dict = {'ob1′:'computer', 'ob2′:'mouse', 'ob3′:'printer'}

每一个元素是pair,包含key、value两部分。key是Integer或string类型,value 是任意类型。
键是唯一的,字典只认最后一个赋的键值。
 
dictionary的方法
D.get(key, 0)       #同dict[key],多了个没有则返回缺省值,0。[]没有则抛异常

D.has_key(key)      #有该键返回TRUE,否则FALSE

D.keys()            #返回字典键的列表

D.values()

D.items()

D.update(dict2)     #增加合并字典

D.popitem()         #得到一个pair,并从字典中删除它。已空则抛异常

D.clear()           #清空字典,同del dict

D.copy()            #拷贝字典

D.cmp(dict1,dict2)  #比较字典,(优先级为元素个数、键大小、键值大小)

#第一个大返回1,小返回-1,一样返回0

 
dictionary的复制
dict1 = dict        #别名

dict2=dict.copy()   #克隆,即另一个拷贝。

 
3、tuple:元组(即常量数组)
tuple = ('a', 'b', 'c', 'd', 'e')

可以用list的 [],:操作符提取元素。就是不能直接修改元素。

4、string:     字符串(即不能修改的字符list)

str = "Hello My friend"

字符串是一个整 体。如果你想直接修改字符串的某一部分,是不可能的。但我们能够读出字符串的某一部分。
子字符串的提取
str[:6]

字符串包含 判断操作符:in,not in

"He" in str

"she" not in str

string模块,还提供了很多方法,如
S.find(substring, [start [,end]]) #可指范围查找子串,返回索引值,否则返回-1

S.rfind(substring,[start [,end]]) #反向查找

S.index(substring,[start [,end]]) #同find,只是找不到产生ValueError异常

S.rindex(substring,[start [,end]])#同上反向查找

S.count(substring,[start [,end]]) #返回找到子串的个数

S.lowercase()

S.capitalize()      #首字母大写

S.lower()           #转小写

S.upper()           #转大写

S.swapcase()        #大小写互换

S.split(str, ' ')   #将string转list,以空格切分

S.join(list, ' ')   #将list转string,以空格连接

 
处理字符串的内置函数
len(str)                #串长度

cmp("my friend", str)   #字符串比较。第一个大,返回1

max('abcxyz')           #寻找字符串中最大的字符

min('abcxyz')           #寻找字符串中最小的字符

string的转换

oat(str) #变成浮点数,float("1e-1″)  结果为0.1

int(str)        #变成整型,  int("12″)  结果为12

int(str,base)   #变成base进制整型数,int("11″,2) 结果为2

long(str)       #变成长整型,

long(str,base)  #变成base进制长整型,

 
字符串的格式化(注意其转义字符,大多如C语言的,略)
str_format % (参数列表) ?#参数列表是以tuple的形式定义的,即不可运行中改变

>>>print ""%s's height is %dcm" % ("My brother", 180)

#结果显示为 My brother's height is 180cm

 
list 和 tuple 的相互转化
tuple(ls)

list(ls)

 
Python 去掉List中重复的元素
 
a = [3, 3, 5, 7, 7, 5, 4, 2]

a = list(set(a)) # [2, 3, 4, 5, 7] 连排序都做好了

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
一个基于flask的web应用诞生 组织结构调整(7)
Apr 11 Python
Queue 实现生产者消费者模型(实例讲解)
Nov 13 Python
python实现SOM算法
Feb 23 Python
tensorflow1.0学习之模型的保存与恢复(Saver)
Apr 23 Python
spark dataframe 将一列展开,把该列所有值都变成新列的方法
Jan 29 Python
Python给图像添加噪声具体操作
Mar 03 Python
Python中Numpy ndarray的使用详解
May 24 Python
python从list列表中选出一个数和其对应的坐标方法
Jul 20 Python
Python转换字典成为对象,可以用&quot;.&quot;方式访问对象属性实例
May 11 Python
详解pycharm自动import所需的库的操作方法
Nov 30 Python
Python Selenium库的基本使用教程
Jan 04 Python
Keras多线程机制与flask多线程冲突的解决方案
May 28 Python
python实现无证书加密解密实例
Oct 27 #Python
深入理解Python 代码优化详解
Oct 27 #Python
简单的Python抓taobao图片爬虫
Oct 26 #Python
Python性能优化的20条建议
Oct 25 #Python
跟老齐学Python之网站的结构
Oct 24 #Python
跟老齐学Python之折腾一下目录
Oct 24 #Python
跟老齐学Python之私有函数和专有方法
Oct 24 #Python
You might like
使用tp框架和SQL语句查询数据表中的某字段包含某值
2019/10/18 PHP
不一样的文字闪烁 轮番闪烁
2009/11/11 Javascript
ExtJS的FieldSet的column列布局
2009/11/20 Javascript
Jquery ui css framework
2010/06/28 Javascript
用javascript为页面添加天气显示实现思路及代码
2013/12/02 Javascript
jquery队列函数用法实例
2014/12/16 Javascript
JavaScript函数作用域链分析
2015/02/13 Javascript
jQuery添加options点击事件并传值实例代码
2016/05/18 Javascript
基于JavaScript实现图片剪切效果
2017/03/07 Javascript
Node.js开发第三方微信公众平台
2017/06/05 Javascript
JavaScript递归算法生成树形菜单
2017/08/15 Javascript
angularJS的radio实现单项二选一的使用方法
2018/02/28 Javascript
手动下载Chrome并解决puppeteer无法使用问题
2018/11/12 Javascript
[01:05:29]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第二场 1月24日
2021/03/11 DOTA
python实现爬取千万淘宝商品的方法
2015/06/30 Python
python中快速进行多个字符替换的方法小结
2016/12/15 Python
基于Python_脚本CGI、特点、应用、开发环境(详解)
2017/05/23 Python
django用户注册、登录、注销和用户扩展的示例
2018/03/19 Python
python实现验证码识别功能
2018/06/07 Python
Python 读取某个目录下所有的文件实例
2018/06/23 Python
python实现多层感知器
2019/01/18 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
2019/04/15 Python
html特殊符号示例 html特殊字符编码对照表
2014/01/14 HTML / CSS
Melijoe英国官网:法国儿童时尚网站
2016/11/18 全球购物
波兰品牌鞋履在线商店:Eastend.pl
2020/01/11 全球购物
委托与事件是什么关系?为什么要使用委托
2014/04/18 面试题
计算机应用毕业生自荐信
2013/10/23 职场文书
行政文员岗位职责
2013/11/08 职场文书
档案检查欢迎词
2014/01/13 职场文书
软件部经理岗位职责范本
2014/02/25 职场文书
水电站项目建议书
2014/05/12 职场文书
2014年四风个人对照检查及整改措施
2014/10/28 职场文书
公司更名通知函
2015/04/24 职场文书
新店开业策划方案怎么书写?
2019/07/05 职场文书
一篇文章弄懂Python中的内建函数
2021/08/07 Python
十大最强奥特曼武器:怪兽战斗仪在榜,第五奥特之父只使用过一次
2022/03/18 日漫