字符串
字符串在python数据处理中是很重要的基本数据类型, 它囊括英文字母、中文、特殊字符、数字等数据形式, 工程上也有对字符串高级的应用, 像是验证码等操作, 作为基本数据类型的字符串也是我们在后端处理数据过程中常常加以处理的数据.
basis:
# 数据类型字符串类型, 字符串的声明 str01 = 'hi! i can sleep.' str02 = "this's definition a string type variable" str03 = ''' this line one. this line two. this line three. ''' print(str01) print(str02) print(str03) # 数据类型字符串类型, 字符串的重复及相加 str04 = 'hello' str05 = 'world' str06 = 'SanPao' print(str04 * 20) print(str04 + ' ' + str05) # 数据类型字符串类型, 字符串的切片(左闭右开区间) # t h i s ' s d e f i n i t i o n a s t r i n g t y p e v a r i a b l e # 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 print(str02[:]) # 输出全部字符串内容等价于print(str02) print(str02[1:]) # 从索引为1的位置一直输出到最后 print(str02[0:5]) # 输出索引0到5的字符 print(str02[25]) # 访问字符串索引为25的字符 print(str02[:-1]) # -1为最后一个字符的索引 print(len(str02)) # 求得字符串的长度
advanced:
# 定义字符串string string = "Python is Good Language." # 替换字符串中的字符(修改) new_string01 = string.replace("P", "p") print(new_string01) # 把字符串中的所有字符全部大写 new_string02 = string.upper() print(new_string02) # 把字符串中的所有字符全部小写 new_string03 = string.lower() print(new_string03) # 统计字符串中特定字母的数量 string_number = string.count("o") print(string_number) # 按照特定的分隔符来分割字符串中的字符. string = "Python|Go|Shell|JAVA" var01, var02, var03, var04 = string.split("|") print(var03) # 案例一: 隐藏敏感词汇(网易python开发面试题) # 1.用户输入的字符中含有敏感词汇的时候自动替换成"*" # 2.用户输入的字符不含有敏感词汇的时候开始搜索工作 while True: string = input("please input search word: ").replace("苍井空", "***").replace("苍老师", "*老师") if string[0] == "*": print("your input have illegal character.", string) else: print("your search word is: ", string) break # 案例二: 反转句子 (小米python运维开发面试题) # 1.根据给定的句子(只包含字母和空格)将句子中的单词位置反转 # 2.单词用空格分割,单词之间只有一个空格,前后没有空格 # 3.单词不能反转 # 母语反转. sentence = "龙去我家玩么" # print(sentence[-len(sentence)]) i = len(sentence) - 1 revers = "" while i >= 0: revers += sentence[i] i -= 1 else: print(revers) # 英文反转. sentence = "long went to my house to play" word = sentence.split(" ") revers = "" i = len(word) - 1 while i >= 0: revers += word[i] + " " i -= 1 else: print(revers)
列表
list01 = [1, 3.14, "Tom", True] # 获取列表的长度. print(len(list01)) # 使用for、while来遍历字典. for i in range(len(list01)): print(list01[i]) n = 0 while n < len(list01): print(list01[n]) n += 1 # 根据索引读取单个元素. print(list01[3]) print(list01[-3]) # 根据索引读取列表切片. print(list01[1:3]) print(list01[-4:-1]) # 在列表中添加元素. list01.append(26) list01.append(4.445) list01.append("Hale") list01.append(False) print(list01) list01.insert(3, "insert") print(list01) # 在列表中删除元素. list01.pop(4) print(list01) list01.remove(False) print(list01) # 修改列表中的元素. list01[6] = "Jerry" print(list01) # 合并两个列表. list02 = [2, "Tom", 3.14] list01.extend(list02) print(list01) del list02 # 对列表进行排序. list01.remove(3.14) list01.remove(3.14) list01.remove(4.445) list01.remove(1) list01.remove(2) list01.remove(26) list01.sort() print("sort--->>>", list01) # 列表推导式. list02 = [x*2 for x in range(10) if x % 2 == 0] print(list02)
元组
tuple01 = (1, 3.14, "Tom", True) # 获取元组的长度. print(len(tuple01)) # 使用for、while来遍历元组. for i in range(len(tuple01)): print(tuple01[i]) n = 0 while n < len(tuple01): print(tuple01[n]) n += 1 # 在元组中添加单个元素? # 那是不行的,因为元组不支持更改. # 但是我们可以让俩个元组合并,就像字符串那样. tuple02 = (1, 2, 3, 4, 5) print(tuple01 + tuple02) # 元组求和. print(sum(tuple02)) # 在元组中嵌入列表. tuple03 = ("before element", [1, 2, 3, 4, 5], "rear element") print(tuple03) print(type(tuple03[1])) tuple03[1][2] = 15 print(tuple03)