python序列(list/truple/dict/str)

操作list【数组】

list=【1,2,3,4】
1、访问list中的元素
list中的每个元素都对应一个递增的序号,索引以0开始
list[0] 代表第一个元素,list[1]代表第二个元素
2、修改list中的元素
修改list中的某一个元素,只需要直接给那个元素赋值就可以了:
list[0] = 1
3、向list中添加元素
list有一个append方法,可以增加元素,list.append(5),添加到原list的末尾:
list=[1,2,3,4,5]
4、删除list中的元素
使用del可以删除list中的元素,del list[0],删除第一个元素
5、向元素的list中任意位置插入新的元素
使用insert方法插入,list.insert(0,-1),向第一个参数位置插入-1;
第一个参数时插入元素位置,第二个参数时插入元素的值
6、利用random产生随机数的另一个方法:choice,它的作用是从一个list中随机挑选一个元素
from random import choice
b=['left',123,456,'right'
a=choice(b) 随机选择b的list中的元素来赋给a变量
点球小游戏:
from random import choice
print 'Choose one side to shoot:'
print 'left, center, right'
you = raw_input()
print 'You kicked ' + you
direction = ['left', 'center', 'right']
com = choice(direction)
print 'Computer saved ' + com
if you != com:
   print 'Goal!'
else:
   print 'Oops...'

字符串的分割

1、举例,定义变量sentence :
sentence = 'I am an Englist sentence'
sentence.split()
split()会把字符串按照其中的空格进行分割,分割后的每一段都是一个新的字符串,最终返回这些字符串组成一个list。
得到:
['I', 'am', 'an', 'Englist', 'sentence']
原来字符串中的空格不再存在。
2、split()默认是按空格进行分割;还可以指定分割符:换行符\n,制表符\t 等等
section = 'Hi. I am the one. Bye.'
通过指定分割符号为'.',可以把每句话分开
section.split('.')
得到:
['Hi', ' I am the one', ' Bye', '']
'.'作为分割符被去掉了,而空格仍然保留在它的位置上。
注意最后那个空字符串。每个'.'都会被作为分割符,即使它的后面没有其他字符,也会有一个空串被分割出来。
例如:'aaa'.split('a')  得到['', '', '', ''],由四个空串组成的list

连接list

join()方法,join的参数是被连接的list
1、举例:
s = ';' 
li = ['apple', 'pear', 'orange'] 
fruit = s.join(li) 
print fruit
得到:
'apple;pear;orange'

字符串的索引和切片

1、遍历
通过for...in可以遍历字符串中的每一个字符。
word = 'hellow'
for c in word:
 print c
结果:
h
e
l
l
o
w

2、索引访问
通过[]加索引的方式,访问字符串中的某个字符。
print word[0] 结果:h
print word[-2] 结果:l

3、切片
通过两个参数,截取一段子串,具体规则和list相同。
print word[2:4] 【输出字符:ll;不包含下标第4的位置】
print word[:-2]   【输出字符:hell】
print word[:]   【输出全字符:hello】
[ a:b]内冒号前的a表示切片的开始位置,冒号后b表示切片到哪里结束;
注意:开始位置a包含其中,结束位置b不包含

又举例:
数组的切片list=[1,2,3,4,5,6]
list[2:4]  【输出[3,4]】
list[0:5:3] 【输出[1,4]】
list[2::2]  【输出[3,5],从下标2开始,距离2个位置的,中间b为空表示从list的所有元素中切片】
list[a:b:c]  【a表示从下标a开始,b将从list的元素总个数b中去切片,c表示距离下表a的位置】

4、连接字符join()
word="helloword"
newword = ','.join(word)
print(newword)
h,e,l,l,o,w,o,r,d

数字、变量、元组不可变,强行改变会报错

1、举例:
元组 a=(1,2,3,4) #元组用圆括号表示,不可变的目的就是为了写保护
a[0]=9 #强行赋值,这样会报错
2、数组list,字典trupe是可变的
list=[1,2,3,4] ,vat{"name":"hu","age":20}
list[0]=5 #再赋值OK
vat["name"]="de" #再赋值OK

字典

1、字典就是一个键/值对的集合。它的基本格式是(key是键,alue是值):d = {key1 : value1, key2 : value2 }
键/值对用冒号分割,每个对之间用逗号分割,整个字典包括在花括号中。
注意:
@1、键必须是唯一的;
@2、键只能是简单对象,比如字符串、整数、浮点数、bool值。
@3、python字典中的键/值对没有顺序,我们无法用索引访问字典中的某一项,而是要用键来访问。
举例:
score = {
'萧峰': 95,
'段誉': 97,
'虚竹': 89
}
print score['段誉']

2、dict={}
dict['one']='This is one' #为字典键one的值赋值'This is one'
dict[2]='This is two'
print dict['one'] #输出建为'one'的值
print dict[2] #输出键为2的值
print dict #输出完整的字典
print dict.keys() #输出所有键
print dict.values() #输出所有值

元组

元组用()标识,内部元素用逗号来隔开,但是元组不能二次赋值
truple=('need',786,233)
print truple # 输出完整的元组
print truple[0] #输出元组的第一个元素
print truple[1:3] #输出第二个和第三个元素【实际为:truple[1],truple[3]】
print truple[2:] #输出从第三个开始至列表末尾的所有元素
print truple*2 #输出元组两次
print truple+truplelist #输出组合的元组

数组list中常用函数方法:

list=['aa','bb','cc','dd']
len(list) #计算数组list的长度:4
max(list) #计算列表list中最大的值【当list中的元素都是int整型数字时】
min(list) #计算列表list中最小的值【当list中的元素都是int整型数字时】
list.append('ee') #向数组list中追加元素“ee”,顺序在末尾
list.insert(1,'ff') #向数组list的第二个元素位置插入元素'ff'
list.count('aa') #统计数组list中元素'aa'的个数
list.index('bb') #统计并计算出列表list中元素'bb'的序号位置:结果:2
list.sort() #对数组list进行升序排序【默认的】
list.reverse() #将数组list逆序进行排序

函数count()
list.count(a,start=0,end=len(string))
a:统计的字符
start:字符开始的索引位置,默认从第一个位置开始
end:字符结束的索引位置
list=[1,2,2,3]
如:list.count(2,1,2)  结果:1
       list.count(2,0,1)  结果:0 #end=1表示字符结束在第二个位置,且第二个位置是不参与统计的

函数sort()
原型:sort(fun,key,reverse=False)
参数fun:是表名此sort函数时基于何种算法进行排序的,一般默认情况下python中用过的是归并排序并且一般情况下不会重写此参数,所以基本可以忽略。
参数key:用来指定一个函数,此函数在每次元素比较是调用,此函数代表排序的规则
参数reverse:用来表明是否逆序,默认的False情况下时按照升序的规则进行排序,reverse=True按照降序进行排序。
list=[(2,5,10),(1,0,3),(6,7,12)]
@1、list.sort()
         print list #按照默认条件,以每个元组中的第一个元素进行升序排序
         [(1,0,3),(2,5,10),(6,7,12)]
@2、list.sort(key=lamdba x:(x[1]))  #以5 0 7进行排序,即按照每个元组的第二个元素排序
         print list
         [(1,0,3),(2,5,10),(6,7,12)]
@3、list.sort(key=lambda x:(x[2])) #以10 3 12 进行排序,即按照每个元组的第三个元素排序
        print list
        [(1,0,3),(2,5,10),(6,7,12)]
@4、使用匿名函数重写key所代表的函数,先按照元组中的第三个元素进行排序,若第三个元素相等,再按照元组中的第二个元素进行排序
list=[(1,8,3),(4,5,3),(7,0,3)]
list.sort(key=lambda x:(x[2],x[1]))
print list
[(7,0,3),(4,5,3),(1,8,3)]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,640评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,254评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,011评论 0 355
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,755评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,774评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,610评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,352评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,257评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,717评论 1 315
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,894评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,021评论 1 350
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,735评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,354评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,936评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,054评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,224评论 3 371
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,974评论 2 355

推荐阅读更多精彩内容