Python系列之字符串和列表

            感谢点赞和关注 ,每天进步一点点!加油!

目录

一、字符串

1.1 字符串的定义与输入

1.2 字符串的拼接与格式化输出

1.3 字符串的下标

1.4 字符串的切片和倒序

1.5 字符串的常见操作

二、列表-List

2.1 列表的常见操作

2.2 列表合并和拼接

2.3 列表嵌套

三、元组-Tuple

四、字典-Dictionary


Python 系列文章学习记录:

Python系列之Windows环境安装配置_开着拖拉机回家的博客-CSDN博客

Python系列之变量和运算符_开着拖拉机回家的博客-CSDN博客

Python系列之判断和循环_开着拖拉机回家的博客-CSDN博客

Python系列之字符串和列表_开着拖拉机回家的博客-CSDN博客

Python系列之文件操作和函数_开着拖拉机回家的博客-CSDN博客

Python系列模块之标准库OS详解_开着拖拉机回家的博客-CSDN博客

Python系列模块之标准库re详解_开着拖拉机回家的博客-CSDN博客

Python系列模块之标准库json详解_开着拖拉机回家的博客-CSDN博客

Python系列模块之标准库shutil详解_开着拖拉机回家的博客-CSDN博客


一、字符串


1.1 字符串的定义与输入


在python中,用引号引起来的都是字符串。还有input函数输入的, str()函数转换的等。

string1 = "hello"
string2 = 'hello'
string3 = """hello
python"""
string4 = '''hello
world'''
string5 = input("input anything: ")
string6 = str(18)

print(isinstance(string3, str)) # isinstance函数可以用来判断数据是否为某一个数据类型,返回值为True或False

执行结果:

1.2 字符串的拼接与格式化输出


示例:

name = "张三丰"
age = 95

# print("name,你五年后age+5岁了")	
print(name+",你五年后 " + str(age + 5) + " 岁了")

print("%s,你五年后 %d 岁了" % (name, age + 5))

执行结果:

1.3 字符串的下标


字符串,列表,元组都属于==序列==(sequence),所以都会有下标。

什么是下标(index)?

示例: 将字符串遍历打印

str1 = "kang"

# index 从 0 开始
for index, i in enumerate(str1):
    print("第 %d 个字符是 %s. " % (index, i))
print("++++++++++++++++++++")
# index 从 1
for index, i in enumerate(str1):
    print("第 %d 个字符是 %s. " % (index+1, i))
print("++++++++++++++++++++")
index = 0
for i in str1:
    print("第 %d 个字符是 %s. " % (index+1, i))
    index += 1

执行结果:

1.4 字符串的切片和倒序


示例:

str2 = "kangLH"

# 倒序 HLgnak
print(str2[::-1])
# 输出:gn
print(str2[3:1:-1])
# 输出:ang
print(str2[1:4])

执行结果:

1.5 字符串的常见操作


示例:

str1 = "hadoop kafka hive range hbase azkaban"

# 拆分 
a = str1.split(" ")
num = 0
for i in a:
    print(num, i, end="\t") # 拆分的字符串打印
    for index in i:
        print(index, end=", ") # 拆分字符串的字符打印
    num += 1
    print()


print(len(str1))		        # 调用len()函数来算长度	             (常用)
print(str1.__len__())			# 使用字符串的__len__()方法来算字符串的长度

print(str1.capitalize())		# 整个字符串的首字母大写
print(str1.title())		        # 每个单词的首字母大写
print(str1.upper())			# 全大写
print(str1.lower())	        	# 全小写
print("HAHAhehe".swapcase())	# 字符串里大小写互换

print(str1.center(50,"*"))		# 一共50个字符,字符串放中间,不够的两边补*
print(str1.ljust(50,"*"))		# 一共50个字符,字符串放左边,不够的右边补*	      
print(str1.rjust(50,"*"))		# 一共50个字符,字符串放右边,不够的左边补*

print(" haha\n".strip())		# 删除字符串左边和右边的空格或换行	(常用,处理文件的换行符很有用)
print(" haha\n".lstrip())		# 删除字符串左边的空格或换行
print(" haha\n".rstrip())		# 删除字符串右边的空格或换行

print(str1.endswith("you"))		# 判断字符串是否以you结尾	    类似于正则里的$	(常用)
print(str1.startswith("hello"))	# 判断字符串是否以hello开始	类似于正则里的^	(常用)

print(str1.count("e"))			# 统计字符串里e出现了多少次		               (常用)

print(str1.find("hive"))		# 找出nice在字符串的第1个下标,找不到会返回-1
print(str1.rfind("e"))		# 找出最后一个e字符在字符串的下标,找不到会返回-1
print(str1.index("hive"))	# 与find类似,区别是找不到会有异常(报错)		    (常用)
print(str1.rindex("e"))		# 与rfind类似,区别是找不到会有异常(报错)

print(str1.isalnum())		# 判断是否为数字字母混合(可以有大写字母,小写字母,数字任意混合)
print(str1.isalpha())		# 判断是否全为字母(分为纯大写,纯小写,大小写混合三种情况)
print(str1.isdigit())		# 判断是否为纯数字
print(str1.islower())		# 测试结果为:只要不包含大写字母就返回True
print(str1.isupper())        # 测试结果为:只要不包含小写字母就返回True
print(str1.isspace())		# 判断是否为全空格

print(str1.upper().isupper())	# 先把str1字符串全转为大写,再判断是否为全大写字母,结果为True

当然了字符串的方法很多,我们可以使用PyCharm 联想直接 寻找。


二、列表-List


序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。Python有6个序列的内置类型,但最常见的是列表和元组。

序列都可以进行的操作包括索引,切片,加,乘,检查成员。

列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

列表的数据项不需要具有相同的类型。

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:

list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]

2.1 列表的常见操作


列表的增删改查操作,列表是可变数据类型,可以进行增,删,改操作。

示例:

str_list = ["kafka", "hadoop", "hadoop", "hive", "range", "flink", "hbase"]

print(str_list)
print("列表长度: ", len(str_list))

# 修改 原来的元素
str_list.append("azkaban")
print("追加: " + str(str_list))

# 移除
str_list.remove("hive")
print("移除: " + str(str_list))

# c插入
str_list.insert(0,"yarn")
print("插入: " + str( str_list))

# 统计次数
cnt = str_list.count("hadoop")
print("hadoop出现的次数: ", cnt)

# 统计次数
a = str_list.index("hadoop")
print("hadoop第一次出现的索引位: ", a)

执行结果:

2.2 列表合并和拼接


我们可以将两个列表拼接为一个。

示例:

list1 = ["haha", "hehe", "heihei"]
list2 = ["xixi", "hoho"]

list1.extend(list2)    		# list1 += list2也可以,类似字符串拼接
print(list1)
print("++++++++++++++++++++++++++++++++++++++++++")


list3 = list1 + list2         # 上面list1 再拼接 list2
print(list3)

执行结果:

2.3 列表嵌套


示例:

# 列表里可以嵌套列表,也可以嵌套其它数据类型
emp = [["张三丰", 18000], ["张无忌", 16000], ["南乔峰", 20000], ["慕容复", 15000]]  

# 循环打印出人名与其对应的工资
for i in emp:
    print("%s 的工资是%d." % (i[0], i[1])) 

执行结果:


三、元组-Tuple


Python 的元组与列表类似,不同之处在于元组的元素不能修改。

元组使用小括号,列表使用方括号。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。元组是只读的,不代表元组里任何数据不可变。如果元组里有列表,那么列表里是可变的。

str_tup = ("kafka", "hadoop", "hadoop", "hive", "range", "flink", "hbase")
print(str_tup)
print("列表长度: ", len(str_tup))

# 统计次数
cnt = str_tup.count("hadoop")
print("hadoop出现的次数: ", cnt)

# 统计次数
a = str_tup.index("hadoop")
print("hadoop第一次出现的索引位: ", a)

print("+++++++++++++++++++++++++++++++")
tuple1 = (1, 2, 3, 4, 5, 1, 7)

print(tuple1)
print("类型: ", type(tuple1))
print("返回元组中元素最大值: ", max(tuple1))
print("返回元组中元素最小值: ", min(tuple1))
print("打印3这个元素在元组里的下标: ", tuple1.index(3))
print("统计1这个元素在元组里共出现几次: ", tuple1.count(1))
print("返回元组中元素【2-5)", tuple1[2:5])

执行结果:


四、字典-Dictionary


字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值 key:value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:

d = {key1 : value1, key2 : value2 }

注意:dict 作为 Python 的关键字和内置函数,变量名不建议命名为 dict

键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。

示例:

dict1 = {
    'stu01': "张三丰",
    'stu02': "张无忌",
    'stu03': "夫子",
    'stu04': "昊天",
}

print(type(dict1))
print(len(dict1))
print(dict1)

for i in dict1.items():
    print(i)

for i in dict1.items():
    print(i[0],  i[1])
    if i[1] == "张无忌":
        dict1[i[0]] = "郭靖"
print("张无忌改为郭靖: ", dict1)
print("查询stu03: ", dict1.get("stu03"))
dict1["stu05"] = "谢逊"
print("新增 stu05: ", dict1)

# 删
dict1.pop("stu01")
print("删除 stu01: ", dict1)

执行结果:

Python字典包含了以下内置方法:

猜你喜欢

转载自blog.csdn.net/qq_35995514/article/details/130753771