Python--列表和元组(1)

2.1 序列概述

Python包涵6种内建的序列:列表、元组、字符串、Unicode字符串、buffer对象、xrange对象;

列表和元组的区别:列表可以修改,元组不能;

使用序列保存普通用户信息—姓名、年龄:

>>> user_info = ['chisj', 42]

序列也可以保存其他序列,构建一个用户信息列表:

>>> chis_info = ['chisj_2', 35]
>>> lisa_info = ['lisa', 24]
>>> database = [chis_info, lisa_info]
>>> print database
[['chisj_2', 35], ['lisa', 24]]

2.2 通用序列操作

所有的序列类型都可以进行某些特定的操作。这些操作包括:索引(indexing)、分片(slicing)、加(adding)、乘(multiplying)以及检查某个元素是否属于序列的成员(成员资格)。除此之外,Python还有计算序列长度,长处最大元素和最小元素的内建函数。

2.2.1 索引

序列的所有元素都是有编号--从0开始递增。这些元素可以通过编号访问:

>>> greeting = 'Hello';
>>> greeting[0];
'H'

字符串就是一个由自负组成的序列。索引0指向第一个元素。

所有序列都可以通过索引的方式获取元素,使用负数索引时,Python会从右边,也就是最后一个元素开始计数。最后一个元素的位置编号是-1:

>>> greeting[-1];
'o'

字符串字面值(其他序列字面量易可)能够直接使用索引,而不需要一个变量引用他们:

>>> 'Hello'[0];

'H'

如果一个函数调用返回一个序列,那么可以直接对返回结果进行索引操作:

>>> fourth = raw_input('year:')[3]
year: 2016
>>> print fourth
6

示例代码:要求输入年、月、日(1~12的数字)、日(1~31),然后打印相应日期的月份名称,日期,年;

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
#根据给定的年月日以数字形式打印出日期
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: ');
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;

程序执行结果:

============== RESTART:C:\Python27\study_python\print_date.py  start==============
Year: 2016
Month: 2
Day(1~31): 29
February 29th, 2016
============== RESTART:C:\Python27\study_python\print_date.py  end==============


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值