资讯专栏INFORMATION COLUMN

【我奶奶都能看懂系列005】☀️python基础语法——容器,小学生也可以学!

番茄西红柿 / 2859人阅读

🌌 专注Golang,Python语言,云原生,人工智能领域得博主;
💜 过去经历的意义在于引导你,而非定义你;
📢 欢迎点赞 👍 收藏 ⭐留言!

字符串

# 单引号name = 'isaac'print(type(name), name)# 双引号name = "isaac"print(type(name), name)# 三引号my_str = """hello worldhello python!"""print(type(my_str))my_str = '''aaabbb'''print(type(my_str))# 如果字符串本身包含单引号,使用双引号定义,如果包含双引号可以使用单引号定义,或者统一使用三引号引号# my name is 'isaac'my_name = "my name is 'isaac'"

下标

# 下标也称为是索引,是一个整型数字,可以是正数, 也可以是负数# 正数下标是从0开始的,表示第一个字符, -1 表示最后一个字符my_str = 'hello'# 下标的使用语法   变量[下标]print(my_str[0])  # hprint(my_str[1])  # eprint(my_str[-1])  # oprint(my_str[-3])  # l# len() 函数可以得到字符串的长度print(len(my_str))  # 5# 使用正数下标书写字符串中最后一个元素print(my_str[len(my_str) - 1])print(my_str[len(my_str) * (-1)])

切片

# 切片可以获取一段数据,多个数据, 下标(索引只能获得一个数据)# 切片语法:  变量[start:end:step], 会得到一个新的字符串# start 开始位置的下标# end  结束位置的下标, 不包含end 对应的下标# step 步长,下标之间的间隔,默认是1my_str = 'hello'my_str1 = my_str[2:4:1]  # llprint(my_str1)# step 如果是1 ,即默认值,可以不写my_str2 = my_str[2:4]  # llprint(my_str2)# end 位置不写, 表示是len() , 即可以取到最后一个元素my_str3 = my_str[2:]  # lloprint(my_str3)# start 位置也可以省略不写, 表示是0,my_str4 = my_str[:3]  # helprint(my_str4)# start 和end 都不写,但是冒号需要写my_str5 = my_str[:]  # helloprint(my_str5)print(my_str[-4: -1])  # ellprint(my_str[3:1], '1')  # 没有数据,# 步长可以是负数print(my_str[3:1:-1], '2')  # llprint(my_str[::-1])  # 字符串的逆置, ollehprint(my_str[::2])  # 0 2 4 hlo  my_str[0:5:2]print(my_str[1:4:-1])

字符串查找相关的操作

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 中的位置的正数下标# 如果没有找到,返回 -1index = my_str.find('hello')  # 0print(index)# 从下标为3的位置,开始查找字符串 helloprint(my_str.find('hello', 3))  # -1print(my_str.find('itcast'))  # 12print(my_str.find('itcast', 15))  # 23# rfind()   right find()  从右边(后边) 开始查找print(my_str.rfind('itcast'))  # 23# index() 在字符串中查找是否存在某个字符串# my_str.index(sub_str, start, end)# sub_str: 要在字符串中查找的内容, 类型 str# start: 开始位置,从哪里开始查找, 默认是0# end: 结束的位置,查找到哪里结束, 默认是len()# 返回值:即方法执行的结果是什么, 如果找到 sub_str ,返回的sub_str 在 my_str 中的位置的正数下标# 如果没有找到,会报错print(my_str.index('hello'))  # 0# print(my_str.index('hello', 3))  # 没有找到,代码会报错# rindex() 从后边开始查找print(my_str.index('itcast'))  # 12print(my_str.rindex('itcast'))  # 23# count(sub_str, start, end) 统计出现的次数,print(my_str.count('aaaa'))  # 0print(my_str.count('hello'))  # 1print(my_str.count('itcast'))  # 2print(my_str.count('itcast', 20))  # 1

字符串的替换

# my_str.replace(old_str, new_str, count)  字符串的替换, 将my_str中的 old_str 替换成 new_str# 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:', my_str2)

字符串的分隔

my_str = 'hello world itcast and itcastcpp'# my_str.split(sub_str, count)  将my_str 字符串按照sub_str 进行切割,# sub_str: 按照什么内容切割字符串, 默认是空白字符, 空格, tab键# count: 切割几次,默认是全部切割# 返回值: 列表 []result = my_str.split()  # 按照空白字符,全部切割print(result)print(my_str.split('itcast'))print(my_str.split('itcast', 1))  # 切割一次,print(my_str.rsplit('itcast', 1))

字符串连接

# my_str.join(可迭代对象)# 可迭代对象, str, 列表(需要列表中的每一个数据都是字符串类型)# 将my_str 这个字符串添加到可迭代对象的两个元素之间# 返回值: 一个新的字符串, 不会改变原字符串的值my_str = '_'.join('hello')  # 会把_ 加入到 hello每两个元素之间 即 h_e_l_l_oprint(my_str)print('_*_'.join('hello'))  # h_*_e_*_l_*_l_*_o# 定义列表my_list = ['hello', 'cpp', 'python']print("_".join(my_list))  # hello_cpp_pythonprint("_*_".join(my_list))  # hello_*_cpp_*_pythonprint(" ".join(my_list))  # hello cpp python

列表

# 列表 是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))# 求列表中数据元素的个数,即列表的长度num = len(my_list2)print(num)# 列表支持下标和切片操作print(my_list2[1])   # 3.14print(my_list2[-1])   # isaacprint(my_list2[1:3])  # [3.14, True]# 下标操作和字符串中不同的是: 字符串不能使用下标修改其中的数据, 但是列表可以使用下标修改列表中的数据my_list2[0] = 18print(my_list2)my_list2[-1] = 'hello'print(my_list2)my_list2[0] = 'python'print(my_list2)

列表遍历

my_list = ['郭德纲', '于谦', '小岳岳', '孙越']for i in my_list:  # i 就是列表中的每一个数据    print(i)print('*' * 30)j = 0  # j 表示下标while j < len(my_list):    print(my_list[j])    j += 1

向列表添加数据的方法

# 向列表中添加数据的方法,都是直接在原列表中进行添加的,不会返回新的列表my_list = ['郭德纲', '于谦', '小岳岳', '孙越']print(my_list)# 列表.append(数据) 向列表的尾部追加数据my_list.append('aa')print(my_list)result = my_list.append(12)  # 不要这样书写.# print(result)  # None 关键字,表示空,print(my_list)# 列表.insert(下标, 数据)  在指定的下标位置进行添加数据my_list.insert(0, 'isaac')print(my_list)# print(my_list.insert(5, 3.14))  不能这样书写, None# 列表.extend(可迭代对象)  # str  列表, 会将可迭代对象中的数据逐个添加到原列表的末尾my_list.extend('hel')print(my_list)my_list.extend([1, 'python', 3])print(my_list)

列表中的数据查询操作

my_list = [1, 3.14, 'isaac', False]# index()  根据数据值,查找元素所在的下标, 找到返回元素的下标, 没有找到,程序报错# 列表中没有find方法,只有index() 方法# 查找 3.14 在列表中下标num = my_list.index(3.14)  # 1print(num)# num1 = my_list.index(100)  # 程序报错, 因为数据不存在# count() 统计出现的次数num3 = my_list.count(1)  # 1print(num3)# in /not in  判断是否存在, 存在是True, 不存在是False,一般和if 结合使用num4 = 3.14 in my_list  # Trueprint(num4)num4 = 3.14 not in my_list  # Falseprint(num4)

列表删除操作

my_list = [1, 2, 4, 5, 6, 9]# 1. 根据元素的数据值删除 remove(数据值), 直接原列表中的数据my_list.remove(4)print(my_list)  # [1, 2, 5, 6, 9]# my_list.remove(4)  # 程序报错,要删除的数据不存在# 2. 根据下标删除# 2.1 pop(下标) 默认删除最后一个数据,返回删除的内容num = my_list.pop()   # 删除最后一个数据 9print(num)print(my_list)  # [1, 2, 5, 6]num = my_list.pop(2)  # 删除下标为2的数据即 5print(num)print(my_list)  # [1, 2, 6]# my_list.pop(10)   # 删除的下标不存在,会报错# 2.2 del 列表[下标]del my_list[1]  # 删除下标为1的数据 2print(my_list)# del my_list[10]   # 删除不存在的下标, 会报错

列表中的排序操作

# 想要对列表中的数据进行排序,前提是列表中的数据类型是一样的my_list = [1, 5, 3, 7, 9, 6]# 列表.sort()  直接在原列表中进行排序# my_list.sort()  # 默认是从小到大排序, 即升序# my_list.sort(reverse=True)  # 通过reverse=True,从大到小排序print(my_list)# 补充: sorted(列表)  排序, 不会在原列表中进行排序,会得到一个新的列表my_list1 = sorted(my_list)my_list2 = sorted(my_list, reverse=True)print(my_list)print(my_list1)print(my_list2)print("=" * 30)my_list3 = ['a', 'b', 'c', 'd', 'e']# 逆置,my_list4 = my_list3[::-1]  # 得到一个新的列表print(my_list3)print(my_list4)# 在原列表直接逆置  列表.reverse()my_list3.reverse()print(my_list3)

列表的嵌套

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:    # print(schools)  # 列表    for name in schools:        print(name)

元祖

# 元组和列表非常相似, 都可以存放多个数据,可以存放不同数据类型的数据# 不同点: 列表使用 [] 定义, 元组使用 () 定义# 列表中的数据可以修改,元组中的数据不能被修改my_list = [18, 3.14, True, 'isaac']  # 列表my_tuple = (18, 3.14, True, 'isaac')  # 元组print(my_tuple, type(my_tuple))# 元组支持下标和切片操作print(my_tuple[1])  # 3.14# 定义空元祖, 没有意义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))

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/122431.html

相关文章

  • 奶奶都能看懂系列004】☀python基础语法可以

    🌌 专注Golang,Python语言,云原生,人工智能领域得博主; 💜 过去经历的意义在于引导你,而非定义你; 📢 欢迎点赞 👍 收藏 ⭐留言! 前言 while循环while实现猜拳游戏计算1-100之间的累加和计算1-100之...

    番茄西红柿 评论0 收藏2637
  • python能做什么软件?Python到底能干嘛,一文看懂

    摘要:语料库是由文本构成的数据集通过提供现成的文本数据来辅助文本处理。那么可以用来做什么呢我自己是一名从事是不错的入门选项。大数据和人工智能是机器学习和的主要开发语言。 Python培训有哪些内容?很多零基础学员不知道Python软件是干什么用的?Python软件是Python工程师编写代码时所需...

    YorkChen 评论0 收藏0
  • Python技能树》Python简介

    摘要:火爆是当今非常热门的语言之一,根据年月编程语言排行,荣获年度编程语言称号,并且其流行度依然处在上升势头。学习完技能树之后,你将进入编程的大门,明白编程的作用,建立编程的兴趣方法和习惯。 ? 作者主页:不吃西红柿  ? 简介:CSDN博客专家?、HDZ核心组成员? 、Python领域优质创作者...

    BlackMass 评论0 收藏0
  • 们一直谈论“写代码”,但你会“读代码”吗?

    摘要:只有能看懂代码,你才能快速准确地定位代码中的问题。要写出很的代码,少不了阅读优秀的源码。我们的论坛和答疑群里,有一些同学会查看并解答其他人的代码问题。实际上,我觉得就是没看懂你只是看懂了每一行代码的意思,但并没有理解整个代码的设计。 编程,又被称作 写代码 。这个说法有可能会带来一点点误解,让人觉得如何写是学习编程要解决的主要问题。但事实并非如此。尽管最终代码要在键盘上敲出来,但这个过...

    2i18ns 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<