'''
python 数据结构
1.序列(包括元组、列表、字符串、buffer对象和xrange对象)序列中第一个元素的索引为0,第二个为1,依次类推序列的最后一个元素标记为-1,最后第二个为-2,依次类推
既可以向前计数,也可以向后计数2.列表和元组的主要区别在于列表可以修改,而元组不能;3.列表
'''
student=['id','name',42]
print(student)Class=[['2015100','John',15],['2015101','Gumby',17]]
print(Class)
'''
4.容器基本上是包含其他对象的任意对象。序列(元组和列表)和映射(字典)是两类主要的容器。
序列中每个元素都有自己的编号,映射中每个元素都有自己的键。集合是既不是序列也不是映射的容器。5.序列的通用操作1)索引
'''
print(student[0])
print(student[-1])
#索引实例
months=['January','February','March','April','May','June','July','Augest','September','October','November','December']
#以1~31的数字作为结尾的列表
endings=['st','nd','rd']+17*['th']\+['st','nd','rd']+7*['th']\+['st']year=input("Year=");
month=input("Month(1~12)=");
day=input("Day(1~31)=");number_month=int(month)
number_day=int(day)month_name=months[number_month-1]
day_name=day+endings[number_day-1]print(month_name+'-'+day_name+'-'+year)
print(endings)
运行结果:
'''
2)分片通过使用分片来操作一定范围内的元素,分片通过冒号隔开的两个索引来实现,包括前索引元素,不包括后索引元素
'''
s="0123456789"
print(s[3:7])
print(s[7:10])
print(s[-3:-1])
print(s[-3:0])#结果为空
print(s[-3:])
#如果分片所得部分包括序列尾部的元素,则可以置空最后一个索引;
#只要分片中最左边的索引比右边的晚出现在序列中,则分片结果不为空序列#分片步长的设置,一般默认为1;
print(s[0:10:2])
print(s[0:10:3])#步长可以为负数,这时分片从右往左提取元素,但索引必须高在前,低在后;步长不能为0
print(s[10:0:-2])
运行结果:
'''
3) 序列相加两种相同类型的序列才能进行连接操作
'''
a=[1,2,3]
b=[4,5,6]
print(a+b)'''
4)乘法:*n:原序列重复n次'''
print(a*3)
'''
None、空列表和初始化:可以用两个中括号[]表示空列表;创建n个元素的列表:empty=[None]*n,即创建了大小为n,初始值为None的列表None为python内建值,代表空。
'''
empty=[None]*4
print(empty)
4)乘法:*n:原序列重复n次'''
print(a*3)
'''
None、空列表和初始化:可以用两个中括号[]表示空列表;创建n个元素的列表:empty=[None]*n,即创建了大小为n,初始值为None的列表None为python内建值,代表空。
'''
empty=[None]*4
print(empty)
运行结果:
#序列乘法实例
s=input("Sentence=")
s_width=100
t_width=len(s)
box_width=t_width+20;
l_margin=(s_width-box_width)//2#//为整除,/为普通除法
print('\n')
print(' '*l_margin+'+'+'_'*(box_width-2)+'+')
print(' '*l_margin+'|'+' '*(t_width-2)+' |')
print(' '*l_margin+'|'+s+'|')
print(' '*l_margin+'|'+' '*(t_width-2)+' |')
print(' '*l_margin+'+'+'_'*(box_width-2)+'+')
print('\n')
'''
5)成员资格使用运算符in可以检查一个值是否在序列中,运算结果为True或False
'''
a="abcdefg"
print("cd" in a)
print("cb" in a)'''
序列成员资格实例
'''
database=[['a',1],['b',2],['c',3]]
inp=input("input a=")
ink=input("input k=")
if [inp,int(ink)] in database:print(True)
else:print(False)'''
6)长度、最小值和最大值内建函数len()、min()、max()分别返回序列中元素的数量、最小的元素、最大的元素。
'''
number=[1,2,3]
print(len(number))
print(min(number))
print(max(number))print(min(5,6,7))
print(max(5,6,7))