Python切片

切片

python 的切片功能,可以让我们非常方便的按照索引的下标编号获取对应的值,举个例子
打印0-100个数

➜  ~ python
Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 12:39:47)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> L = range(100)
>>> L
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]

例子

我们现在要取前9个,那么通过切片,我看可以输入

>>> L[:9]
[0, 1, 2, 3, 4, 5, 6, 7, 8]

或者

>>> L[0:9]
[0, 1, 2, 3, 4, 5, 6, 7, 8]

[] 中用:隔开,前面表示从0开始的索引位置,后面表示截止的索引位置,那么比如说我们希望取最后9个数,则是这样的

>>> L[-9:]
[91, 92, 93, 94, 95, 96, 97, 98, 99]

那么我们要取中间的数,则

>>> L[50:60]
[50, 51, 52, 53, 54, 55, 56, 57, 58, 59]

小程序

看一个温度转换的工具

#!/usr/bin/python
#-*-coding:utf-8-*-
#Auth:awen
#Date: 2017.07.10

# input 等待用户输入




val = input("请输入带温度表示符号的温度值,(例如:32c):")


#如果 val 最后一位输入的是 c 或 C 则转换为华氏度,[-1]是 Python 中的切片,[-1]表示最倒数第一位的值
if val[-1] in ['c','C']:
    print(val[0:-1])
    f = 1.8* float(val[0:-1]) + 32
    print("转换后的温度为: %.2fF 摄氏度(℃)"%f)
elif val[-1] in ['F','f']:
    c = (float(val[0:-1])-32)/1.8
    print("转换后的温度为:%.2fC 华氏度(℉)"%c)
else:
    print("输入有误")

结果如下