4.Python字符串和列表:字符串输入、字符串输出、下标和切片、字符串常见函数、列表(list)、列表的循环遍历、列表的增删改查、列表的嵌套、列表的切片

1. Python 字符串

1.1 字符串输入

input() 函数用于从用户获取字符串输入。它总是返回一个字符串类型的值。

# 从用户输入字符串
name = input("请输入你的名字:")
print(f"你好, {name}")
1.2 字符串输出

字符串的输出通常使用 print() 函数。可以直接打印字符串,也可以通过格式化输出。

# 直接输出字符串
print("Hello, World!")

# 格式化输出
name = "Alice"
age = 25
print(f"名字是 {name}, 年龄是 {age}")
1.3 下标和切片
  • 下标(Index):通过下标可以访问字符串中的单个字符,Python 中的字符串下标从 0 开始。负数下标表示从字符串的尾部访问。
my_string = "Hello"
print(my_string[0])  # 输出 'H'
print(my_string[-1])  # 输出 'o'(从后向前)
  • 切片(Slicing):通过切片可以获取字符串的子串。切片语法为 my_string[start:end],其中 start 为开始位置,end 为结束位置,但不包含 end
my_string = "Hello, World!"
print(my_string[0:5])  # 输出 'Hello',从下标 0 到 4
print(my_string[7:12])  # 输出 'World'
print(my_string[:5])  # 输出 'Hello',从开头到下标 4
print(my_string[7:])  # 输出 'World!',从下标 7 到末尾
1.4 字符串常见函数
  • len():返回字符串的长度

    print(len("Hello"))  # 5
    
  • lower():将字符串转换为小写

    print("HELLO".lower())  # "hello"
    
  • upper():将字符串转换为大写

    print("hello".upper())  # "HELLO"
    
  • strip():去除字符串两端的空白字符

    print("  hello  ".strip())  # "hello"
    
  • replace():替换字符串中的指定部分

    print("Hello, World!".replace("World", "Python"))  # "Hello, Python!"
    
  • split():将字符串分割成多个子字符串,返回一个列表

    print("apple,banana,orange".split(","))  # ['apple', 'banana', 'orange']
    
  • join():将列表中的字符串连接为一个字符串

    print(", ".join(['apple', 'banana', 'orange']))  # 'apple, banana, orange'
    

2. Python 列表

2.1 列表(List)

列表是一个有序的集合,可以包含多个元素,且支持修改。列表的元素可以是任何类型的数据,包括数字、字符串、甚至其他列表。

my_list = [1, 2, 3, 4, 5]
print(my_list)  # 输出 [1, 2, 3, 4, 5]
2.2 列表的循环遍历

你可以使用 for 循环来遍历列表中的每一个元素。

my_list = [1, 2, 3, 4, 5]
for item in my_list:
    print(item)
2.3 列表的增删改查
  • 添加元素:使用 append() 向列表末尾添加元素,使用 insert() 在指定位置插入元素。

    my_list = [1, 2, 3]
    my_list.append(4)  # 添加元素到末尾
    print(my_list)  # [1, 2, 3, 4]
    
    my_list.insert(1, 1.5)  # 在位置 1 插入元素 1.5
    print(my_list)  # [1, 1.5, 2, 3, 4]
    
  • 删除元素:使用 remove() 删除指定值的元素,使用 pop() 删除指定位置的元素并返回其值。

    my_list = [1, 2, 3, 4]
    my_list.remove(3)  # 删除元素 3
    print(my_list)  # [1, 2, 4]
    
    popped_item = my_list.pop(1)  # 删除并返回位置 1 的元素
    print(popped_item)  # 2
    print(my_list)  # [1, 4]
    
  • 修改元素:直接通过下标来修改列表中的元素。

    my_list = [1, 2, 3, 4]
    my_list[1] = 10  # 修改下标 1 位置的元素
    print(my_list)  # [1, 10, 3, 4]
    
  • 查找元素:使用 in 来判断一个元素是否在列表中,使用 index() 来获取元素的下标。

    my_list = [1, 2, 3, 4]
    print(3 in my_list)  # True
    print(my_list.index(4))  # 3
    
2.4 列表的嵌套

列表可以嵌套其他列表,形成多维结构。

nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(nested_list[0])  # 输出 [1, 2, 3]
print(nested_list[1][2])  # 输出 6
2.5 列表的切片

与字符串一样,列表也可以通过切片来访问一部分元素。

my_list = [1, 2, 3, 4, 5]
print(my_list[1:4])  # 输出 [2, 3, 4]
print(my_list[:3])   # 输出 [1, 2, 3]
print(my_list[2:])   # 输出 [3, 4, 5]

总结

  • 字符串操作:Python 中字符串是不可变的,可以使用下标和切片进行访问和截取,常用的字符串函数包括 lower(), upper(), strip(), replace() 等。
  • 列表操作:列表是可变的,可以包含任意类型的数据,可以使用 append(), insert(), remove() 等方法进行增删改查,支持嵌套和切片操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/965774.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【R语言】plyr包和dplyr包

一、plyr包 plyr扩展包主要是实现数据处理中的“分割-应用-组合”(split-apply-combine)策略。此策略是指将一个问题分割成更容易操作的部分,再对每一部分进行独立的操作,最后将各部分的操作结果组合起来。 plyr扩展包中的主要函…

oscp备考,oscp系列——VulnOSv2靶场,两种方法获取低权限shell

前言 oscp备考,oscp系列——VulnOSv2靶场,两种方法获取低权限shell 难度简单 对于低权限shell获取涉及:drupal 7 getshell漏洞,opendocman sql注入,ssh连接对于提权:内核提权 下载地址: http…

东方财富股吧发帖与评论爬虫

东方财富股吧发帖与评论爬虫 东方财富股吧爬虫 写在开头项目介绍主要功能文件介绍爬取逻辑 a. 爬取帖子信息b. 爬取评论信息 使用步骤 1. 下载代码2. MongoDB 安装3. Webdriver 安装4. 运行 main.py5. 查看数据 踩过的坑附录(运行结果) 东方财富股吧爬…

wxWidgets生成HTML文件,带图片转base64数据

编译环境大家可以看我之前的文章,CodeBlocks + msys2 + wx3.2,win10 这里功能就是生成HTML文件,没用HTML库,因为是自己固定的格式,图片是一个vector,可以动态改变数量的。 效果如下: #include <wx/string.h> #include <wx/file.h> #include <wx/ima…

网络编程 day2

题目 代码 服务器 typedef char DataType[32]; //普通节点数据类型typedef struct NODE {union{DataType data; //普通节点数据域int len; //头节点数据域};struct NODE *next; //指针域 }node,*nodePtr;struct PACK {int size; //告知 通信传输的数据的大小int type; //决定…

【鸿蒙HarmonyOS Next实战开发】实现ArkTS/JS和C/C++的交互-Node-API

一、HarmonyOS Node-API简介 在HarmonyOS应用开发中&#xff0c;通常以ArkTS/JS语言为主&#xff0c;但在一些特殊场景下&#xff0c;例如游戏开发、物理模拟等&#xff0c;由于对性能、效率等有较高要求&#xff0c;需要借助现有的C/C库来实现。为了满足这种需求&#xff0c;…

Postgresql的三种备份方式_postgresql备份

这种方式可以在数据库正在使用的时候进行完整一致的备份&#xff0c;并不阻塞其它用户对数据库的访问。它会产生一个脚本文件&#xff0c;里面包含备份开始时&#xff0c;已创建的各种数据库对象的SQL语句和每个表中的数据。可以使用数据库提供的工具pg_dumpall和pg_dump来进行…

51单片机之使用Keil uVision5创建工程以及使用stc-isp进行程序烧录步骤

一、Keil uVision5创建工程步骤 1.点击项目&#xff0c;新建 2.新建目录 3.选择目标机器&#xff0c;直接搜索at89c52选择&#xff0c;然后点击OK 4.是否添加起吊文件&#xff0c;一般选择否 5.再新建的项目工程中添加文件 6.选择C文件 7.在C文件中右键&#xff0c;添加…

基础篇05-直方图操作

本节将简要介绍Halcon中有关图像直方图操作的算子&#xff0c;重点介绍直方图获取和显示两类算子&#xff0c;以及直方图均衡化处理算子。 目录 1. 引言 2. 获取并显示直方图 2.1 获取&#xff08;灰度&#xff09;直方图 (1) gray_histogram (2) gray_histo_abs (3) gr…

3.攻防世界 weak_auth

题目描述提示 是一个登录界面&#xff0c;需要密码登录 进入题目页面如下 弱口令密码爆破 用1 or 1 #试试 提示用admin登录 则尝试 用户名admin密码&#xff1a;123456 直接得到flag 常用弱口令密码&#xff08;可复制&#xff09; 用户名 admin admin-- admin or -- admin…

金蛇祈福,鸿运开年!广州白云皮具城2025开市大吉!

锣鼓一响&#xff0c;黄金万两&#xff01;2月6日大年初九&#xff0c;广州白云皮具城举行盛大的醒狮开市仪式&#xff01;象征吉祥如意的醒狮&#xff0c;将好运、财运传递给全体商户和八方来客。 醒狮点睛 金鼓一响黄金万两&#xff0c;十头醒狮登台&#xff0c;董事总经理刘…

【Axure教程】标签版分级多选下拉列表

分级多选下拉列表是指一个下拉列表&#xff0c;它包含多个层次的选项&#xff0c;用户可以选择一个或多个选项。这些选项通常是根据某种层级关系来组织的&#xff0c;例如从上到下有不同的分类或者过滤条件&#xff0c;用户选择上层选项后&#xff0c;下层选项会发生变化&#…

SpringBoot中的多环境配置管理

SpringBoot中的多环境配置管理 文章目录 SpringBoot中的多环境配置管理SpringBoot中的多环境配置管理 多环境配置的概述1. 为什么需要多环境配置&#xff1f;2. Spring Boot 中如何实现多环境配置&#xff1f;3. 多环境配置的应用场景4. 如何实现配置隔离&#xff1f; Spring B…

SOME/IP报文格式及发现协议详解

在之前的文章中&#xff0c;我们介绍了SOME/IP协议的几种服务接口。在本篇博客中&#xff0c;主要介绍some/ip协议传输的header报文格式以及SOME/IP-SD发现协议。 目录 流程 报文格式 Message ID Length Request ID protocal version/Interface Version Message Type…

使用Ollama本地部署deepseek

1、下载安装Ollama 前往下载页面 https://ollama.com/download下载好安装包&#xff0c;如同安装软件一样&#xff0c;直接安装即可 win中默认为C盘&#xff0c;如果需要修改到其他盘&#xff0c;查找具体教程 运行list命令&#xff0c;检查是否安装成功 2、修改模型下载的…

约束布局属性学习

1、layout_constraintHorizontal_bias layout_constraintHorizontal_bias 是 ConstraintLayout 中的一个重要属性&#xff0c;用于控制一个视图在父视图或相关视图中水平位置的偏移。这种偏移通过在0到1之间的浮点值来设置&#xff0c;0代表完全靠近左边或起始位置&#xff0c…

Windows双网卡冲突导致网页加载过慢的解决方法 (修改跃点无效 远程桌面连接)

【本文发布于https://blog.csdn.net/Stack_/article/details/145494160&#xff0c;未经许可不得转载&#xff0c;转载须注明出处】 办公室内&#xff0c;我的笔记本和台式机都连接WIFI进行上网&#xff0c;网段是192.168.0.x&#xff0c;网关192.168.0.101 现在要通过Windows自…

轻量级服务器http-server

安装 sudo npm install http-server -g 运行 1. 直接去到要跑起来的目录&#xff0c;在终端输入 cd xxxx文件夹http-server //只输入http-server的话&#xff0c;更新了代码后&#xff0c;页面不会同步更新http-server -c-1 //同步更新页面http-server -a 127.0.0.1 -p 808…

代码随想录算法【Day38】

Day38 322. 零钱兑换 思路 完全背包 代码 class Solution { public:int coinChange(vector<int>& coins, int amount) {vector<int> dp(amount 1, INT_MAX);dp[0] 0;for (int i 0; i < coins.size(); i) { // 遍历物品for (int j coins[i]; j <…

python+opencv+open3d实现鼠标手画多边形裁剪分割点云操作

👑主页:吾名招财 👓简介:工科学硕,研究方向机器视觉,爱好较广泛… ​💫签名:面朝大海,春暖花开! python+opencv+open3d实现鼠标手画多边形裁剪分割点云操作 引言使用效果:代码pcd_roi_crop.py:引言 当我们想对一个不规则物体的图像或者点云裁剪时,直接手动输入…