Python_字符串的映射与可变字符串的应用

 1 ‘‘‘
 2 maketrans()、translate()
 3 maketrans()方法用来生成字符映射表,而translate()方法则按映射表中定义的对应关系转换并替换其中的字符,使用这两个方法的组合可以
 4 同时处理多个不同的字符,replace()方法则无法满足这一要求。
 5 ‘‘‘
 6 #创建映射表,将字符‘abcdef123‘一一地转换为‘[email protected]#$‘
 7 table=‘‘.maketrans(‘abcdef123‘,‘[email protected]#$‘)
 8 s2 = ‘Python is a greate programming language.I like it 123!‘
 9 print(s2.translate(table))
10 # Python is u gryuty progrumming lunguugy.I liky it @#$!
11
12 #模拟凯撒加密
13 #每个英文字母替换为字母表中后面第3个字母,当然,也可以是其他数字
14 import string
15 lowerLetters=string.ascii_lowercase
16 upLetters=string.ascii_uppercase
17 before=lowerLetters+upLetters
18 print(before)
19 # abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
20 #循环移位
21 after=lowerLetters[3:]+lowerLetters[:3] + upLetters[3:]+upLetters[:3]
22 print(after)
23 # defghijklmnopqrstuvwxyzabcDEFGHIJKLMNOPQRSTUVWXYZABC
24 #创建字符转换表,将英文字母替换为该字母后面第3个字母
25 table1=‘‘.maketrans(before,after)
26 example=‘If the implementation is easy to explain,it may be a good idea.‘
27 print(example.translate(table1))
28 # Li wkh lpsohphqwdwlrq lv hdvb wr hasodlq,lw pdb eh d jrrg lghd.
29
30 #Python标准库中的string提供了英文字母大小写、数字字符、标点符号等常量,可以直接使用,下面的代码实现随机密码生成功能
31 import string
32 x=string.digits+string.ascii_letters+string.punctuation #可能字符集
33 print(x)
34 # 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&‘()*+,-./:;<=>[email protected][\]^_`{|}~
35 print(string.digits)
36 # 0123456789
37 print(string.ascii_letters)
38 # abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
39 print(string.punctuation)
40 # !"#$%&‘()*+,-./:;<=>[email protected][\]^_`{|}~
41 import random
42 print(‘‘.join([random.choice(x) for i in range(8)]))    #随机选取8个字符
43
44 ‘‘‘
45 在Python中,字符串属于不可变对象,不支持原地修改,如果需要修改其中的值,只能重新创建一个新的字符串对象。
46 然而,如果确实需要一个支持原地修改的unicode数据对象,可以使用io.StringIO对象或array模块.
47 ‘‘‘
48 from io import StringIO
49 s3=‘Hello world‘
50 sio=StringIO(s3)    #创建可变字符串对象
51 print(sio)
52 # <_io.StringIO object at 0x101ba5d38>
53 print(sio.tell())  #返回当前位置
54 # 0
55 print(sio.read()) #从当前位置开始读取字符串
56 # Hello world
57 print(sio.getvalue())   #返回可变字符串的全部内容
58 # Hello world
59 print(sio.tell())
60 # 11
61 sio.seek(6) #重新定位当前位置
62 sio.write(‘SDIBT‘)  #从当前位置开始写入字符串
63 print(sio.read())
64 # ‘‘
65 print(sio.getvalue())
66 # Hello SDIBT
67 print(sio.tell())
68 # 11
69 s3=‘Hello world‘
70 from array import array
71 sa=array(‘u‘,s3)
72 print(sa)
73 # array(‘u‘, ‘Hello world‘)
74 print(sa.tostring())    #查看可变字符串对象的内容
75 # b‘H\x00\x00\x00e\x00\x00\x00l\x00\x00\x00l\x00\x00\x00o\x00\x00\x00 \x00\x00\x00w\x00\x00\x00o\x00\x00\x00r\x00\x00\x00l\x00\x00\x00d\x00\x00\x00‘
76 print(sa.tounicode())   #查看可变字符串对象的内容
77 # Hello world
78 sa[0] = ‘F‘ #修改指定位置上的字符
79 print(sa)
80 # array(‘u‘, ‘Fello world‘)
81 sa.insert(5,‘w‘)   #在指定位置插入字符
82 print(sa)
83 # array(‘u‘, ‘Fellow world‘)
84 sa.remove(‘l‘)  #删除指定字符的首次出现
85 print(sa)
86 # array(‘u‘, ‘Felow world‘)
时间: 2024-10-13 14:42:28

Python_字符串的映射与可变字符串的应用的相关文章

Objective-C 字符串与可变字符串

知识点 1.NSString 类的使用 2.NSMutableString 类的使用 ========================================== NSString 1.NSString对象和C类型字符串做对比 // OC字符串是对象         c字符串只是单个字母拼接 // oc字符串定义需要@       c字符串不需要 // 打印的时候OC字符串%@     c字符串打印%s 2.c语言字符串和NSString的转换 stringWithCString:enc

NSMutableString,可变字符串,拼接,删除,插入,替换

<span style="font-size:18px;"> NSMutableString *str = [NSMutableString stringWithFormat:@"lanouhenan"]; //对于可变字符串的增删改方法, 都是在原字符串基础上进行修改, 所以修改之后的原字符串的内容发生变化, 所以无需返回值 //1 在原字符串基础上拼接Frank [str appendFormat:@"Frank"]; NSLog

用不可变字符串跟可变字符串做新闻网页

//不可变字符串方法 //新建一个字符串对象,将文件的内容读出来 NSString *html=[NSString stringWithContentsOfFile:@"/Users/apple/Desktop/txt1.html" encoding:NSUTF8StringEncoding error:nil]; //将文件中的标题替换成我们的标题 NSString *html1=[html stringByReplacingOccurrencesOfString:@"{[

NSString NSArray和可变字符串、数组的用法

// 使用实例方法创建NSString对象 NSString *string1 = [[NSStringalloc]initWithFormat:@"姓名流年"]; NSLog(@"%@", string1); NSString *string2 = [[NSStringalloc]initWithFormat:@"Ming"]; NSLog(@"%@", string2); NSString *string3 = [[NSS

可变字符串NSMutableString

NSMutableString *mutableStr = [[NSMutableString alloc] initWithFormat:@"蓝鸥科技有限公司"]; NSMutableString *mutableStr1 = [NSMutableString stringWithFormat:@"蓝鸥科技有限公司"]; //拼接字符串 [mutableStr appendString:@".txt"]; NSLog(@"%@&quo

不可变字符串NSString

/*字符串的常用方法*/ //1.通常用来把一些基本数据类型和字符串进行拼接 int a = 9527; float b = 9527.0; NSString *string = [NSString stringWithFormat:@"%d%.1f",a,b]; NSLog(@"%@",string);//95279527.0 //2.字符串的长度(空格也会计算在内) NSString *string = @"今晚打老虎"; //NSLog(@

OC:可变字符串NSMutableString 的一些用法

NSString 是不可变字符串,所以方法调用时并不是对原字符串进行修改,而是先建立一个原字符串的副本,然后对副本内容进行修改. NSMutableString是NSString的子类,可以使用它的所有方法. 1.NSMutableString提供了附加字符串的方法. 可以使用appendString或appendFormat来对可变字符串操作: - (void) appendString: (NSString *) string; - (void) appendFormat: (NSStrin

可变字符串

#import <Foundation/Foundation.h> int mian (int argc,const char *argv[]) { @autoreleasepool { //首先要创建一个可变字符串 //方法名称为 stringWithCapacity,本质:类方法,属于NSMutableString,返回值:NSMutableString NSMutableString *string = [NSMutableString stringWithCapaty: 30] //容

Objective C -2 - 随机数,可变字符串,字符串,SubString

? 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 int main(int argc, const char * argv[]) {     @autoreleasepool {                           NSString *outputString = @"[email protected]#$%^&*()"