python(一)列表与元组之序列基本操作

python学习笔记是摘自挪威Magnus Lie Hetland 教授著,司维 ,曾军崴,谭颖华译,钟读杭审校的Python基础教程(第二版 修订版),对此感激不尽,鄙人的入门书,在此简单总结整理,记录心得。
在python中,最基本的数据结构是序列,序列中的每一个元素被分配一个索引,第一个是0,第二个是1,以此类推。
Python包含6中内建序列:列表(可修改),元组(不可修改),字符串,unicode字符串,buffer对象,xrange对象。
什么是列表?列表的各个元素通过逗号分隔,写在方括号中。形如:idol = [‘zhaoliying’,18]
对于序列通用的操作有:索引,分片,加,乘,成员资格,计算序列长度,找出最大元素和最小元素的内建函数。
1 :索引

>>> idol = 'zhaoliying'
>>> idol[0]
'z'
>>> idol[-1]  #最后一个元素编号是-1
'g':

2:分片(访问一定范围内的元素,通过冒号隔开的两个索引来实现,用于提取序列的一部分)
两个索引相当于两个边界,分片结果包含第一个索引的元素,不包含第二个索引的元素。

>>> idol = ' idol'
>>> idol[4:12]
'dol="htt'
>>> number = [2,4,6,7,8,1,3,5,9,10]
>>> number[2:4]
[6, 7]
>>> number[-4:-1]   #列表结尾索引是-1
[3, 5, 9]
>>> number[-4:0]
[]
>>> number[-4:]   #若分片结果要包含序列结尾,置空第二个索引即可
[3, 5, 9, 10]
>>> number[:4]    #若分片结果要包含序列开始,置空第一个索引即可
[2, 4, 6, 7]
>>> number[:]      #若想得到整个序列,将两个索引都置空即可
[2, 4, 6, 7, 8, 1, 3, 5, 9, 10]                                                                                                                                                                                                                                                                      
>>> number[0:10:2]  #步长为2
[2, 6, 8, 3, 9]
>>> number[::3]  #从序列开始的元素算起,步长为3,提取元素
[2, 7, 3, 10]
>>> number[6:2:-1]  #从右到左提取元素,步长为1
[3, 1, 8, 7]

3:加(通过加运算符就可以进行序列的连接操作,同类型的序列才可以进行连接操作)

>>> [1,2,1]+[1,3,5]
[1, 2, 1, 1, 3, 5]
>>> 'zhaoliying'+'perfect!'
'zhaoliyingperfect!'

4:乘(*表示重复)

>>> 'zhaoliying I LOVE YOU!'*3
'zhaoliying I LOVE YOU!zhaoliying I LOVE YOU!zhaoliying I LOVE YOU!'

改了一下书上的“盒子代码”,我的“盒子浪漫”代码如下,嘿嘿嘿,比心

#以正确的宽度在居中的“盒子”内打印一个句子
sentence = raw_input("sentence: ")

screen_width = 80
text_width = len(sentence)
box_width = text_width +6
left_margin = (screen_width - box_width) // 2

print
print ' ' * left_margin + '+'  + '-' * (box_width-2) +  '+'
print ' ' * left_margin + '| ' + '-' * text_width +'-' *2  + ' |'
print ' ' * left_margin + '| ' + '-' *1+sentence +'-' *1+ ' |'
print ' ' * left_margin + '| ' + '-' * text_width+'-' *2    + ' |'
print ' ' * left_margin + '+'  + '-' * (box_width-2) +  '+'
print

结果如下:
python(一)列表与元组之序列基本操作_第1张图片
5:成员资格(检查一个值是否在序列中,可以使用in运算符)
in检查某个条件是否为真,然后返回相应的值,条件为真返回true,否则返回false。

>>> idol = 'zhaoliying'
>>> 'y'in idol
True
>>> 'm'in idol
False
#检查用户名和PIN码
idol = [ ['zhaoliying','no.1'],['jiangshuying','no.2'],['wuenda','no.3'],['huba','no.4'] ]
username = raw_input('user name: ')
pin = raw_input('PIN code: ')

if[username,pin] in idol: print 'Access granted'

结果如下:
这里写图片描述
6:长度,最小值和最大值
内建函数len函数返回序列中所包含元素的数量,min函数和max函数分别返回序列中的最大和最小的元素。
python(一)列表与元组之序列基本操作_第2张图片

你可能感兴趣的:(python初探笔记)