zoukankan      html  css  js  c++  java
  • python 输出所有大小写字母, range()以及列表切片

    所以在写的时候,只要把它们的ASCII列出,并转化成字符型chr 即可。

    print [chr(i) for i in range(65,91)]#所有大写字母
    print [chr(i) for i in range(97,123)]#所有小写字母
    print [chr(i) for i in range(48,58)]#所有数字

    还有一种方法,就是使用python中字符串方法string模块。

    #-*- coding:utf-8 -*-
    import string #导入string这个模块
    print string.digits  #输出包含数字0~9的字符串
    print string.letters  #包含所有字母(大写或小写)的字符串
    print string.lowercase #包含所有小写字母的字符串
    print string.uppercase  #包含所有大写字母的字符串
    print string.punctuation #包含所有标点的字符串
    print string.ascii_letters #与string.letters一样

    输出:

    0123456789
    abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
    abcdefghijklmnopqrstuvwxyz
    ABCDEFGHIJKLMNOPQRSTUVWXYZ
    !"#$%&'()*+,-./:;<=>?@[]^_`{|}~
    abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ





    range()以及列表切片

    range()函数配合循环一块使用很方便,今天来整理一下这个函数的主要用法,以及几个小例子

    首先来看一下函数原型,非常简单: 
    range(start,end [,step]) 
    或者连start都省略掉: 
    range(end)

    其中,start表示开始点,end表示结束点,真正结束的位置是end的前一个值,step表示步长。 
    例如:

    print(list(range(1,5)))
    #list函数是将range的值列表化,这时候的输出为 1,2,3,4 (没有5!即不包括最后一个end的值)
    print(list(range(1,5,2)))
    #输出结果是 [1, 3] ,步长为2,而且小于5

    如果只传入一个参数:

    print(list(range(5)))
    #输出结果是 [0, 1, 2, 3, 4] ,这时候默认从0开始

    rang的这些使用,我们可以同列表的遍历结合起来,比如对一个列表进行遍历访问:

    #首先我用一个range生成一个列表,其中包含0~9 10个元素
    list1 =list(range(10))
    # #使用range的方式进行遍历:
    for i in range(len(list1)):
        print(list1[i])
    
    #当然这种情况我们一般都是直接使用 for value in list1 就可以了
    #如果使用切片,访问列表的一部分
    
    for i in range(int(len(list1)/2)):
        print(list1[i])
    
    #这样我们就可以得到列表中前一半元素,其他部分同理

    有的时候我们还会用到一个列表的逆序,使用range可以这样:

    list1 =list(range(10))
    for i in range(len(list1)-1,0,-1):
        print(list1[i])
    #注意这个地方开始的位置是len-1,因为我们使用的列表的下标,其实这里的使用与C语言是一致的,步长设置为-1
    #就相当于我们在for循环的 i--了

    使用循环的方式,我们可以在每次循环中对数据进行一些操作,但是如果仅仅是得到这些数据,我们可以利用列表的切片slide来做,切片的方式非常灵活,例如比较简单的:

    list1 =list(range(10))
    print(list1[:])
    # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    print(list1[3:])
    # [3, 4, 5, 6, 7, 8, 9]
    print(list1[3:5])
    # [3, 4]
    print(list1[1:5:2])
    # [1, 3]

    从这里我们可以看出切片的使用方式与range大同小异,都是三个参数,分别控制开始,结束以及步长,在range中我们可以使用 -1 ,那么同理,在切片中,同样如此,对于每一个列表项,不仅仅有一个正向的序号,还有一个反向的序号,最后一个元素可以使用list1[-1]来表示,倒数第二个元素就是list1[-2]….:

    print(list1[1:-1])
    # 这里表示从第一个元素到最后一个元素
    • 1
    • 2

    如果逆序输出的话:

    print(list1[-1::-1])
    #或者简记为:
    print(list1[::-1])
    • 1
    • 2
    • 3

    接下来是我之前遇到的一个问题,如何在一个列表中保存A-Z或者Z-A?

    list2 = []
    for i in range(ord('A'),ord('A')+26):
        list2.append(chr(i))
    print(list2)
    
    list3 = [chr(ord('A')+x) for x in range(26)]
    print(list3)

    这两种方法都可以生成一个包含A-Z的列表,对于这个问题,如果使用过其他语言,首先可能会使用int(‘A’)获取A的ASCII,但是在Python中却会报错,因为这里int()函数是默认基与十进制的,对于字母转化为数字,有函数ord可以使用,有字母转化回ASCII则可以使用chr()函数,第二种方式是使用了列表生成式的方式,写起来比较简单,除了这些方法之外,还可以使用map()函数对列表的每一个值进行处理,在此不再介绍。 
    end~

     
     
     
  • 相关阅读:
    画出直线,找出直线经过的图像坐标
    MFC 对话框图片上,鼠标拖动画矩形框
    MFC知识点整理
    mfc +opencv 读取图片显示到对话框
    python 获取系统时间,新建时间目录
    在Ubuntu下后台持续运行Python程序
    利用conda安装tensorflow
    整理的最全 python常见面试题(基本必考)
    转:Django框架基础知识(面试题)
    shell 获取变量是什么数据类型
  • 原文地址:https://www.cnblogs.com/timssd/p/8905274.html
Copyright © 2011-2022 走看看