栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python容器

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python容器

一、字符串

 

# 下标也是索引
my_str = 'hello'
print(my_str[0]) # 负数从-1开始
print(my_str[-1])
# [start:end:step]
# step默认为1,表示下标之间的间隔
# 不包含end对应的下标
print(my_str[2:4:1])

# end位置不写,表示是len(),即可以取到最后一个元素
my_str3 = my_str[2:]
print(my_str3)

# start位置不写,表示0开始
my_str4 = my_str[:3]  # 注意3的位置取不到
print(my_str4)

# start和end都不写,但是需要冒号
my_str5 = my_str[:]
print(my_str5)

print(my_str[-4: -1])  # -1位置取不到 ell
print(my_str[3:1])  # 没有结果输出

print(my_str[3:1:-1], '2')  # ll 2

print(my_str[::-1])  # 字符串的逆值, olleh

print(my_str[::2])  # 0 2 4 h l o  == my_str[0:5:2]

 字符串切片:

 

字符串查找方法:

find() & rfind()

my_str = 'hello world itcast and itcastcpp'
# find() 在字符串中查找是否存在某个字符串
# my_str.find(sub_str,start,end)
# sub_str: 要在字符串中查找的内容,类似str
# start :开始查找位置 ,默认0
# end: 结束的位置,查找到哪里结束,默认是len()
# 返回值:即方法执行的结果是什么,如果找得到sub_str, 返回的sub_str 在 my_str中的位置的正数下标
# 如果没有找到,那么返回-1
index = my_str.find('hello')
print(index)   # hello 在my_str下标为0的位置
# 从下标为3的位置找字符串 hello
print(my_str.find('hello', 3))
print(my_str.find('itcast'))  # 12 加上空格
print(my_str.find('itcast', 15))  # 23
# rfind() right find()  从右边(后边) 开始查找
print(my_str.rfind('itcast'))  # 23

index & rindex() ------没有找到会直接报错

print(my_str.index('hello'))  # 0
# print(my_str.index('hello', 5))  # error
print(my_str.rindex('itcast'))  # 23
print(my_str.index('itcast'))  # 12 加上空格,下标从0开始

count()---统计出现的次数

print(my_str.count('aaaa'))  # 0
print(my_str.count('hello'))  # 1
print(my_str.count('itcast'))  # 2
print(my_str.count('itcast'), 20) # 1 ,从20号以后itcast出现的次数

字符串替换 replace

# my_str.replace(old_str, new_str, count)
# old_str: 将要被替换的字符串
# new_str: 替换成的字符串
# count: 替换的次数,默认全部替换
#  返回值:得到一个新的字符串,不会改变原来的字符串

my_str = 'hello world itcast and itcastcpp'

my_str1 = my_str.replace('itcast', 'itheima')
print('my_str:', my_str)
print('my_str1:', my_str1)

my_str2 = my_str.replace('itcast','itheima', 1)  # 替换一次
print('my_str2:%s' % my_str2)

字符串分隔 split()

# 字符串分割split()
result = my_str.split()
print(result)
print(my_str.split('itcast'))  # 默认全部切割
print(my_str.split('itcast', 1))  # 切割1次
print(my_str.rsplit('itcast', 1))  # 从最右边开始切割

字符串连接 join()

# join()
# my_str.join(可迭代对象)
my_str = '_'.join('hello')
print(my_str)
print('_*_'.join('hello'))

# 定义列表
my_list = ['hello', 'cpp', 'python']
print("_".join(my_list))
print("_*_".join(my_list))
print(" ".join(my_list))
二、list 1.什么是列表?

列表是python中的一种数据类型,可以存放多个数据,列表中的数据可以是任意类型的

列表list,定义使用[],进行定义。

# 定义空列表
my_list = []
print(my_list, type(my_list))  # '[]' , 
my_list1 = list()  # 空列表
print(my_list1, type(my_list1))

# 定义带数据的列表,数据元素之间用逗号隔开
my_list2 = [1, 3.14, True, 'isaac']
print(my_list2, type(my_list2))  # [1, 3.14, True, 'isaac']  

# 求列表中数据元素的个数,即列表的长度
num = len(my_list2)
print(num)

# 列表支持下标和切片操作
print(my_list2[1])  # 3.14
print(my_list2[-1])  # isaac

print(my_list2[1:3])  # [3.14,True]  因为左闭右开

# 下标操作和字符串中不同的是:字符串不能使用下标修改其中的数据,但是列表可以使用下标修改列表中的数据
my_list2[0] = 18
print(my_list2)

my_list2[-1] = 'hello'
print(my_list2)

my_list2[0] = 'python'
print(my_list2)
# 输出结果
D:PythonDay03StringvenvScriptspython.exe D:/Python/Day03String/list.py
[] 
[] 
[1, 3.14, True, 'isaac'] 
4
3.14
isaac
[3.14, True]
[18, 3.14, True, 'isaac']
[18, 3.14, True, 'hello']
['python', 3.14, True, 'hello']
2.遍历
# 遍历
my_list = ['A', 'B', 'C', 'D']
for i in my_list:
    print(i, end=' ')
print()
print('*' * 30)

j = 0
while j < len(my_list):
    print(my_list[j], end=' ')
    j += 1

 

3.向列表中添加数据
# 向列表中添加数据
# 向列表中添加数据的方法,都是直接在原列表中进行添加的,不会返回新的列表
my_list = ['A', 'B', 'C', 'D']
print(my_list)

# 列表.append(数据),向列表尾部追加数据
my_list.append('aa')
print(my_list)

result = my_list.append('12')  # 不要这样书写
print(result)  # 不要这样书写,结果为‘None’
print(my_list)  # ['A', 'B', 'C', 'D', 'aa', '12']
# 列表.insert(下标, 数据) 在指定的下标位置进行添加数据

my_list.insert(0, 'isaac')
print(my_list)
# print(my_list.insert(5, 3.14)) None
# 列表.extend(可迭代对象)  # str   列表,会将可迭代对象中的数据逐个添加到原列表的末尾
my_list.extend('he')
print(my_list)
my_list.extend([1, 'python', 3])
print(my_list)

4.列表中的数据查询操作(列表中没有find()方法,只有index()方法) 
my_list = [1, 3.14, 'issca', False]
num = my_list.index(3.14)  # 1
print(num)
# num1 = my_list.index(100)  # 程序报错,因为程序不存在
# count() 统计出现的次数
num3 = my_list.count(1)
print(num3)
# in/not in 判断是否存在,存在是True,不存在时False,一般和if 结合使用
num4 = 3.14 in my_list  # True
num4 = 3.14 not in my_list  # False
print(num4)
5.列表中的删除操作
# 根据下标删除
# pop() 默认删除最后一个数据
num = my_list.pop()  # 9
print(num)
print(my_list)

num = my_list.pop(2)  # 删除下标为2的数据 即5
print(num)
print(my_list)

#  del_列表[下标]
del my_list[1]  # 删除下标为1的数据2
print(my_list)

 

6.列表的排序和逆置
# 想要对列表中的数据进行排序,前提是列表中的数据类型是一样的
my_list = [1, 5, 3, 7, 9, 6]

# 列表.sort()直接在列表中进行排序
# my_list.sort()  # 默认是从小到大排序,即升序
# my_list.sort(reverse = True)  # 通过reverse= True,从大到小排列
my_list1 = sorted(my_list)
my_list2 = sorted(my_list,reverse=True)
print(my_list)
print(my_list1)
print(my_list2)

my_list3 = ['a', 'b', 'c', 'd', 'e']
my_lise4 = my_list3[::-1]
print(my_list3)
print(my_lise4)

# 在原列表直接逆值
my_list3.reverse()
print(my_list3)

 7.列表的嵌套
school_names = [['北京大学', '清华大学'], ['南开大学', '天津大学', '天津师范大学'], ['山东大学', '中国海洋大学']]
print(school_names[1])
print(school_names[1][1])
print(school_names[1][1][1])

# 山东大学
print(school_names[2][0])

# 全部遍历
for schools in school_names:
    for name in schools:
        print(name)

三、元组 

有兴趣自己跑一下代码。。。

# 元组和列表非常相似,都可以存放多个数据,可以存放不同数据类型的数据
# 不同点:列表用[], 元组使用()
# 列表中的数据可以修改,元组中的数据不能被修改
my_lists = [18, 3.14, True, 'issca']
my_tuple = (18, 3.14, True, 'issca')
print(my_tuple, type(my_tuple))

# 元组支持下标和切片要求
print(my_tuple[1])

# 定义空数组,没有意义
my_tuple1 = ()
print(my_tuple1, type(my_tuple1))
my_tuple2 = tuple()

# 定义一个数据元素的元素,数据元素后边,必须有一个逗号,否则报书写错误
my_tuple3 = (3)  # 3 
my_tuple4 = (3,)

print(my_tuple3, type(my_tuple3))
print(my_tuple4, type(my_tuple4))

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/994239.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号