[python]view plaincopy 创建列表sample_list=['a',1,('a','b')]Python列表操作sample_list=['a','b',0,1,3]得到列表中的某一个值value_start=sample_list[0]end_value=sample_list[-1]删除列表的第一个值delsample_list[0]在列表中插入一个值sample_list[0:0]=['samplevalue']得到列表的长度list_length=len(sample_list)列表遍历forelementinsample_list:print'element'Python列表高级操作/技巧产生一个数值递增列表num_inc_list=range(30)#willreturnalist[0,1,2,...,29]用某个固定值初始化列表initial_value=0list_length=5sample_list=[initial_valueforiinrange(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)方法。创建连续的listL=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操作符:,+,*,关键字dela[1:]#片段操作符,用于子list的提取[1,2]+[3,4]#为[1,2,3,4]。同extend()[2]*4#为[2,2,2,2]delL[1]#删除指定下标的元素delL[1:3]#删除指定下标范围的元素list的复制L1=L#L1为L的别名,用C来说就是指针地址相同,对L1操作即对L操作。函数参数就是这样传递的L1=L[:]#L1为L的克隆,即另一个拷贝。listcomprehension[<expr1>forkinLif<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,否则FALSED.keys()#返回字典键的列表D.values()#以列表的形式返回字典中的值,返回值的列表中可包含重复元素D.items()#将所有的字典项以列表方式返回,这些列表中的每一项都来自于(键,值),但是项在返回时并没有特殊的顺序D.update(dict2)#增加合并字典D.popitem()#得到一个pair,并从字典中删除它。已空则抛异常D.clear()#清空字典,同deldictD.copy()#拷贝字典D.cmp(dict1,dict2)#比较字典,(优先级为元素个数、键大小、键值大小)#第一个大返回1,小返回-1,一样返回0dictionary的复制dict1=dict#别名dict2=dict.copy()#克隆,即另一个拷贝。3、tuple:元组(即常量数组)tuple=('a','b','c','d','e')可以用list的[],:操作符提取元素。就是不能直接修改元素。4、string:字符串(即不能修改的字符list)str="HelloMyfriend"字符串是一个整体。如果你想直接修改字符串的某一部分,是不可能的。但我们能够读出字符串的某一部分。子字符串的提取str[:6]字符串包含判断操作符:in,notin"He"instr"she"notinstrstring模块,还提供了很多方法,如S.find(substring,[start[,end]])#可指范围查找子串,返回索引值,否则返回-1S.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("myfriend",str)#字符串比较。第一个大,返回1max('abcxyz')#寻找字符串中最大的字符min('abcxyz')#寻找字符串中最小的字符string的转换float(str)#变成浮点数,float("1e-1")结果为0.1int(str)#变成整型,int("12")结果为12int(str,base)#变成base进制整型数,int("11",2)结果为2long(str)#变成长整型,long(str,base)#变成base进制长整型,字符串的格式化(注意其转义字符,大多如C语言的,略)str_format%(参数列表)#参数列表是以tuple的形式定义的,即不可运行中改变>>>print""%s'sheightis%dcm"%("Mybrother",180)#结果显示为Mybrother'sheightis180cm。。。。。。。。。。。。。。。。。。list和tuple的相互转化tuple(ls)list(ls) ---------------
python字典访问的三种方法
定义字典 dic = {'a':"hello",'b':"how",'c':"you"}
方法一:
for key in dic:
print key,dic[key]
print key + str(dic[key])
结果:
a hello
ahello
c you
cyou
b how
bhow
细节:
print key,dic[key],后面有个逗号,自动生成一个空格
print key + str(dic[key]),连接两个字符串,用的是加号,直接输出,中间不加逗号
方法二:
for (k,v) in dic.items():
print "dic[%s]="%k,v
结果:
dic[a]= hello
dic[c]= you
dic[b]= how
方法三:
for k,v in dic.iteritems():
print "dic[%s]="%k,v
结果:
dic[a]= hello
dic[c]= you
dic[b]= how
对比:
items()返回的是列表对象,而iteritems()返回的是iterator对象。例如:
print dic.items() #[('a', 'hello'), ('c', 'you'), ('b', 'how')]
print dic.iteritems() #<dictionary-itemiterator object at 0x020E9A50>
深究:iteritor是迭代器的意思,一次反悔一个数据项,知道没有为止
for i in dic.iteritems():
print i
结果:('a', 'hello')
('c', 'you')
('b', 'how')
如果觉得《Python 列表(list) 字典(dict) 字符串(string)常用基本操作小结》对你有帮助,请点赞、收藏,并留下你的观点哦!