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
!"#$%&‘()*+,-./:;<=>[email protected][\]^_`{|}~
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~

 

原文地址:https://www.cnblogs.com/timxgb/p/8905274.html

时间: 2024-09-29 10:31:55

python 输出所有大小写字母, range()以及列表切片的相关文章

python 输出所有大小写字母和0~9数字

# coding=utf-8 character = []# 所有大写字母for i in range(65, 91): character.append(chr(i))# 所有小写字母for i in range(97,123): character.append(chr(i))# 所有数字for i in range(48,58): character.append(chr(i))print(character)

python中包含UTF-8编码中文的列表或字典的输出

在python 下面一个包含中文字符串的列表(list)或字典,直接使用print会出现以下的结果: >>> dict = {"asdf": "我们的python学习"} >>> print dict {'asdf': '\xe6\x88\x91\xe4\xbb\xac\xe7\x9a\x84python\xe5\xad\xa6\xe4\xb9\xa0'} 在输出处理好的数据结构的时候很不方便,需要使用以下方法进行输出: >

Python 使用正则表达式验证密码必须包含大小写字母和数字

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px ".PingFang SC Light" } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Helvetica Neue" } span.s1 { font: 14.0px "Helvetica Neue" } span.s2 { font: 14.0px ".PingF

输入字符串,包含数字,大小写字母,编程输出出现做多的数字的和

题目描述: 输入字符串,包含数字,大小写字母,编程输出出现做多的数字的和. 思路: 1.创建输入对象2.输入字符串3.利用正则将字母分离出,剩余的每一个字符串即为待统计的每一个数字,存入字符串数组中 4.遍历数组,拿到字符串,存入创建的hashMap中,且键为该字符串,值为出现的次数:这里我使用的判断出现几次的技巧是借助hashSet的存储非重复元素的性质,每次拿到数组元素时同时进行存入hashSet的操作(具体代码中会有) 4.此时的hashMap中存储的即为出现的数字及其出现次数的对应键值对

what&#39;s the python之基本运算符及字符串、列表、元祖、集合、字典的内置方法

计算机可以进行的运算有很多种,运算按种类可分为算数运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.字符串和列表的算数运算只能用+和*,字典没有顺序,所以不能进行算数运算和比较运算.比较运算中==比较的是值,is比较的是id.比较运算只能在同种类型下进行比较.字符串的比较是按照顺序依次进行比较.逻辑运算的顺序先后为要用括号来表示. 基本运算符如下: 算术运算 以下假设a=10,b=20 比较运算 以下假设a=10,b=20 赋值运算 逻辑运算  成员运算 身份运算 what's the 内

2.python基础深入(元组、字符串、列表、字典)

一,对象与类 对象: python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,玩的手机就是对象. 我们通过描述属性(特征)和行为来描述一个对象的. 在python中,一个对象的特征也称为属性(attribute).它所具有的行为也称为方法(method) 结论:对象=属性+方法 在python中,把具有相同属性和方法的对象归为一个类(class) 比如人类,动物,植物等等,这些都是类的概念. 类是对象的模板或蓝图,类是对象的抽象化,对象是类的实例化.类不代表具体的事物,而对

Python中转变大小写的直接函数有以下方法

Python中转变大小写的直接函数有以下方法: upper()--所有字母大写 lower()--所有字母小写 capitalize()--首字母大写,其他字母小写 title()--所有单词首字母大写,其他小写 下面来看一个例子, 把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字.如输入:['adam', 'LISA', 'barT'],输出:['Adam', 'Lisa', 'Bart'] 1. 如果想要用title()函数,必须把列表写为字符串的形式,如下 2. 还可以用m

python之数据运算、字典、列表

常量定义规则:常量意义为不可做更改:常量定义名称为全大写: 如:MYSQL_CONNECTION= '192.168.1.1' pyc:python生成的翻译文件,使计算机能够识别python语言: 列表的语法和使用: 列表参数插入语法:name.insert(2,'minggou') name[1] = "wangminglong" --->修改列表中对应字段的内容: 追加:name.append("alex") 删除:name.remove("m

python输出字符串,UnicodeEncodeError: &#39;ascii&#39; codec can&#39;t encode characters in position问题

http://blog.sina.com.cn/s/blog_64a3795a01018vyp.html 参考于这个博主,我自己做一个笔记. 把一个列表转换成字符串输出的时候出现了UnicodeEncodeError: 'ascii' codec can't encode characters in position 32-34: ordinal not in range(128)问题,使用的是ulipad编译器. 解决方法1: 在开头加上 import sys reload(sys) sys.