python-列表和元组

'''
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))

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秘境之眼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值