• 通过例子学python(2.2)


    2.2 通用序列操作

    #2.2 通用序列操作
    #所有序列类型都可以进行的操作:索引indexing,分片sliceing,加adding,乘multiplying,成员资格,
    #计算序列长度,找出最大元素,最小元素的内建函数。
    
    #2.2.1 索引
    #使用负数索引时,最后一个元素的编号为-1。
    greeting = 'Hello'
    print(greeting[0])
    print(greeting[-1])
    
    #字符串字面值可以直接进行索引
    print('zhangxin'[0], 'lyj'[-1])
    
    #直接对返回结果进行索引操作
    #fourth = raw_input('Year:')[3]  #Year:2013
    #print(fourth)                   #3
    
    #根据给定的年月日以数字形式打印出日期
    months = ['January', 'Febuary', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
    print(months)
    
    #以1到31的数字作为结果的列表
    endings = ['st', 'nd', 'rd'] + 17 * ['th'] + ['st', 'nd', 'rd'] + 7 * ['th'] + ['st']
    print(endings)
    
    year = raw_input('Year:')
    month = raw_input('Month(1-12):')
    day = raw_input('Day (1-31)')
    
    month_number = int(month)
    day_number = int(day)
    
    month_name = months[month_number-1]
    day_name = day + endings[day_number-1]
    
    print month_name + ' ' + day_name + '.' + year
    # -*- coding: cp936 -*-
    #ch020202.py
    
    # 2.2.2 分片
    
    #分片:提取序列的一部分。第1个索引是提取部分第1个元素的编号,最后的索引是分片之后剩下部分的第1个元素的编号
    numbers = [0, 1,2,3,4,5,6,7,8,9,10]
    print(numbers[3:6])
    
    #可以使用负数索引
    print(numbers[-3:-1])
    #求序列的后部分,置空最后一个索引即可
    print(numbers[-3:])
    #若求前半部分,则置空前一个索引即可
    print(numbers[:3])
    print(numbers[:-3])
    
    #复制整个序列,则两个索引都置空
    print(numbers[:])
    print(numbers[0:100])#后一个索引超出范围不会报错。
    
    #步长:step length
    # 不能为0,但是可以为负数
    print('numbers[:] 等同于numbers[::1]')
    print(numbers[::1])
    print(numbers[0:5:3])
    print(numbers[8:2:-2])
    
    
    #2.2.3 序列相加
    print("#2.2.3 序列相加")
    #使用加号可以对两个序列进行相加
    #两种相同类型的序列才能相加 
    print([1,2,3] + [4,5,6] + [-1, -2, -3])
    print('Hello, ' + 'world!')
    
    
    #2.2.4 乘法
    print('#2.2.4 乘法')
    #用数字x乘以一个序列会生成新的序列,在新的序列中,原来的序列会重复x次
    print('python' * 5)
    print([1, 2, 3] * 3)
    
    #None是一个python的内建值,它表示这里什么也没有。
    print("初始化一个长度为10的列表")
    print([None] * 10)
    
    
    #2.2.5 成员资格
    #为了检查一个值是否在序列中, 可以使用in运算符,in检查某个条件是否为真,然后返回布尔值。
    #条件为真返回True,条件为假返回False。
    print('#2.2.5 成员资格')
    permissions = 'rw'
    print('i' in permissions)
    print('w' in permissions)
    
    #检查用户名和pin码
    database = [['a', '1'], ['b','2'], ['c','3'],['d','4']]
    username = raw_input('User name:')
    pin = raw_input('PIN code:')
    if [username,pin] in database : print 'Access granted'
    
    
    #2.2.6 长度、最小值和最大值
    print('#2.2.6 长度、最小值和最大值')
    #len : 序列中所包含元素的数量
    #max : 序列中最大的元素
    #min : 序列中最小的元素
    #max min函数参数可以直接以多个数字作为参数
    numbers = [100, 34, 678]
    print(max(numbers))
    print(min(numbers))
    print(len(numbers))
    print(max(5, 10, 100))
    print(min(3, 8, 15))
  • 相关阅读:
    2014年第五届蓝桥杯省赛试题(JavaA组)
    2013年第四届蓝桥杯省赛试题(JavaA组)
    2013蓝桥杯JavaA组T10 大臣的旅费(树的直径)
    CodeForces
    天梯赛 L2-006 树的遍历(序列建树)
    PAT甲 1095 解码PAT准考证/1153 Decode Registration Card of PAT(优化技巧)
    2015年第六届蓝桥杯省赛T10 生命之树(树形dp+Java模拟vector)
    ZOJ
    SPOJ
    HDU
  • 原文地址:https://www.cnblogs.com/sdlypyzq/p/3513014.html
Copyright © 2020-2023  润新知