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 相关文章推荐
Python生成随机MAC地址
Mar 10 Python
详解Python核心对象类型字符串
Feb 11 Python
Python解决走迷宫问题算法示例
Jul 27 Python
Python3调用百度AI识别图片中的文字功能示例【测试可用】
Mar 13 Python
Python使用crontab模块设置和清除定时任务操作详解
Apr 09 Python
python实现视频分帧效果
May 31 Python
django 微信网页授权认证api的步骤详解
Jul 30 Python
Python高级特性 切片 迭代解析
Aug 23 Python
python获取Linux发行版名称
Aug 30 Python
pytorch 模拟关系拟合——回归实例
Jan 14 Python
Django 允许局域网中的机器访问你的主机操作
May 13 Python
Python Selenium操作Cookie的实例方法
Feb 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
如何实现给定日期的若干天以后的日期
2006/10/09 PHP
第九节--绑定
2006/11/16 PHP
PHP JS Ip地址及域名格式检测代码
2013/09/27 PHP
PHP中让json_encode不自动转义斜杠“/”的方法
2017/02/28 PHP
微信接口生成带参数的二维码
2017/07/31 PHP
用js得到网页中所有的div的id
2020/10/19 Javascript
使用JS CSS去除IE链接虚线框的三种方法
2013/11/14 Javascript
浅谈JavaScript函数参数的可修改性问题
2013/12/05 Javascript
JQuery文本改变触发事件如聚焦事件、失焦事件
2014/01/15 Javascript
JavaScript实现移动端滑动选择日期功能
2016/06/21 Javascript
javascript中使用未定义变量或值的情况分析
2016/07/19 Javascript
jQuery无刷新上传之uploadify简单代码
2017/01/17 Javascript
bootstrap配合Masonry插件实现瀑布式布局
2017/01/18 Javascript
Vue中的v-cloak使用解读
2017/03/27 Javascript
AngularJs返回前一页面时刷新一次前面页面的方法
2018/10/09 Javascript
学习使用ExpressJS 4.0中的新Router的用法
2018/11/06 Javascript
el-form 多层级表单的实现示例
2020/09/10 Javascript
[55:44]OG vs NAVI 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python 随机生成中文验证码的实例代码
2013/03/20 Python
Python时区设置方法与pytz查询时区教程
2013/11/27 Python
Python实现二维数组输出为图片
2018/04/03 Python
python 发送和接收ActiveMQ消息的实例
2019/01/30 Python
python实现图像检索的三种(直方图/OpenCV/哈希法)
2019/08/08 Python
使用PyTorch训练一个图像分类器实例
2020/01/08 Python
PyCharm刷新项目(文件)目录的实现
2020/02/14 Python
Python编程快速上手——PDF文件操作案例分析
2020/02/28 Python
python批量处理多DNS多域名的nslookup解析实现
2020/06/28 Python
使用Python项目生成所有依赖包的清单方式
2020/07/13 Python
html5-canvas中使用clip抠出一个区域的示例代码
2018/05/25 HTML / CSS
美国最大和最受信任的二手轮胎商店:Bestusedtires.com
2020/06/02 全球购物
MySQL面试题目集锦
2016/04/14 面试题
副护士长竞聘演讲稿
2014/04/30 职场文书
教育教学读书笔记
2015/07/02 职场文书
英语教学课后反思
2016/02/15 职场文书
高中班主任工作总结(范文)
2019/08/20 职场文书
《和时间赛跑》读后感3篇
2019/12/16 职场文书