《Python基础教程》学习笔记——序列

序列是Python中最基本的数据结构,序列中每个元素被分配一个序号——即元素的位置,也称索引,第一个索引是0,第二个索引是1,以此类推。 Python包括6中内建的序列:列表、元组、字符串、Unicode字符串、buffer对象和xrange对象。 下面介绍序列的基本通用操作:索引、切片、加、乘、成员资格、求最值和长度。

----------索引示例----------

根据给定的年月日以数字形式打印出日期

months = ['January','February','March','April','May','June',
          'July','August','September','October','November','December'
    ]

# 以1~31的数字作为结尾的列表
endings = ['st','nd','rd']+17*['th']\
          +['st','nd','rd']+7*['th']\
          +['st']

year = raw_input('Year: ')
month = raw_input('Month(1-12): ')
day = raw_input('Day(1-31): ')

month_number = int(month)
day_number = int(day)

# 记得要将月份和天数减去1,以获得正确的索引
month_name = months[month_number-1]
ordinal = day+endings[day_number-1]

print month_name+ ' '+ordinal + ', '+year

----------切片示例----------

对“http://www.something.com”形式的URL进行分割

url = raw_input('Please enter the URL: ')
domain = url[11:-4]

print "Domain name: "+domain

其他的例子

numbers = [0,1,2,3,4,5,6,7,8,9]
print numbers[:] #打印numbers中所有的值
print numbers[0:3] #打印0,1,2
print numbers[0::2] #等价于numbers[0:10:2]
print numbers[0:10:2]
print numbers[-10:-1] #等价于numbers[0:9]
print numbers[-1:0:-1] #倒着打印

----------序列加、乘、成员资格、长度、最值----------

序列相加,主要只有两种相同类型的序列才能相加(即连接操作)

print [1,2,3]+[4,5,6] #结果为[1,2,3,4,5,6]
print "hello,"+"world!"

用数字x乘以一个序列会生成新的序列,而在新的序列中,原来的序列将会被重复x次

print 'python'*5
print [42]*10
print [0]*10
seq = [None]*10
print seq

以正确的宽度在剧中的“盒子”内打印一个句子

sentence = raw_input("Secntence: ")
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+ '|'+' '*(box_width-2)+'|'
print ' '*left_margin+'|'+' '*2+sentence+' '*2 +'|'
print ' '*left_margin+ '|'+' '*(box_width-2)+'|'
print ' '*left_margin + '+'+'_'*(box_width-2)+'+'
print

用in运算符来检测一个值是否在序列中

permissions = 'rw'
print 'w' in permissions

users = ['mlh','foo','bar']
print raw_input('Enter your user name: ') in users
subject = '$$$ Get rich now!!! $$$'
print '$$$' in subject

序列成员资格示例

database = [
    ['albert','1234'],
    ['dilbert','4242'],
    ['smith','7524'],
    ['jones','9843']
    ]
username = raw_input('User name: ')
pin = raw_input('PIN code: ')
if [username,pin] in database:
    print 'Access granted'

长度、最大值、最小值
内建函数 len、max、min

numbers1 = [100,34,678]
print len(numbers1)
print max(numbers1)
print min(numbers1)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值