首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

上手Python之列表

数据容器 为什么学习数据容器 思考一个问题:如果我想要在程序,记录5名学生信息,姓名。 如何做呢?...学习数据容器,就是为了批量存储或批量使用多份数据  Python数据容器: 一种可以容纳多份数据数据类型,容纳每一份数据称之为1个元素 每一个元素,可以是任意类型数据,字符串、数字、布尔等。...,支持嵌套 列表下标(索引) 如何从列表取出特定位置数据呢?...将容器内元素依次取出进行处理行为,称之为:遍历、迭代。 如何遍历列表元素呢? 可以使用前面学过while循环 如何在循环中取出列表元素呢?...使用列表[下标]方式取出 循环条件如何控制? 定义一个变量表示下标,从0开始 循环条件为 下标值 < 列表元素数量 除了while循环外,Python还有另外一种循环形式:for循环。

4.2K10

Bash 脚本:正则表达式基础篇

正则表达式(简写为 regex 或者 regexp)基本上是定义一种搜索模式字符串,可以被用来执行“搜索”或者“搜索并替换”操作,也可以被用来验证像密码策略等条件。...在这篇教程,我们将会学习一些正则表达式基本概念,并且学习如何在 Bash 通过 使用它们,但是如果你希望在其他语言 python 或者 C 中使用它们,你只能使用正则表达式部分。...(点) 它用于匹配出现在我们搜索项任意字符。举个例子,我们可以使用点: 这个正则表达式意味着我们在名为 ‘file1’ 文件查找词以 开始,以 结尾,中间可以有 1 个字符字符串。...我们在方括号也可以定义像 或者 作为匹配字符列表。 这就像正则表达式 not 操作。当使用 时,它意味着我们搜索将包括除了方括号内提到所有字符。...以下模式要求字符串字母 至少被匹配到一次: 这里 在我们搜索至少需要发生一次,所以我们结果可以为 或者 ,但不能是 。

1.8K80
您找到你想要的搜索结果了吗?
是的
没有找到

Linux--awk命令

花括号({})不需要在程序始终出现,但它们用于根据特定模式对一系列指令进行分组。 pattern就是要表示正则表达式,用斜杠括起来。...awk语言最基本功能是在文件或者字符串基于指定规则浏览和抽取信息,awk抽取信息后,才能进行其他文本操作。完整awk脚本通常用来格式化文本文件信息。 通常,awk是以文件一行为处理单位。...然而,在许多编程情况,可能需要在 awk 开始处理输入文件文本之前执行初始化代码。对于这种情况, awk 允许您定义一个 BEGIN 块。...awk 还有"do...while"循环,它在代码块结尾条件求值,而不像标准 while 循环那样在开始求值。 它类似于其它语言中"repeat...until"循环。...如果迭代等于 4,则增加 x并调用 continue 语句,该语句立即使 awk 开始执行下一个循环迭代,而不执行代码块其余部分。

6.4K30

何在 Linux 中使用 Bash For 循环

Bash 脚本,有 3 种类型循环:for 循环、while 循环和 until 循环。这三个用于迭代列表并执行一组给定命令。...此外,我们可以在范围末尾包含一个值,该值将导致 for 循环以增量步骤迭代这些值。 以下 bash 脚本打印 1 到 7 之间值,从第一个值开始在这些值之间增加 2 个步长。 #!...除了 bash 脚本之外,它还用于 Python 和 Java 等编程语言。 continue 语句在满足特定条件时停止循环内的当前迭代,然后恢复迭代。 考虑如下所示 for 循环。 #!...第 2 行:标记 for 循环开始,并将变量 n 从 1 迭代到 10。...在 PyTorch 实现可解释神经网络模型 如何在 Linux 列出 Systemd 下所有正在运行服务 GPT 模型工作原理 你知道吗?

25940

正则表达式Python_python正则表达式匹配字符串

1、常用断言: \b匹配单词边界,放在字符类[]则表示backspace \B匹配非单词边界,受ASCII标记影响 \A 在起始匹配 ^ 在起始匹配,如果有MULTILINE...: re.compile(r"""           <img\s +) #标签开始           [^>]*?...(三)正则表达式对象常用方法 rx.findall(s,start, end): 返回一个列表,如果正则表达式没有分组,则列表包含是所有匹配内容, 如果正则表达式中有分组,则列表每个元素是一个元组...,元组包含子分组匹配内容,但是没有返回整个正则表达式匹配内容 rx.finditer(s, start, end): 返回一个可迭代对象 对可迭代对象进行迭代,每一次返回一个匹配对象...rx.split(s, m): 分割字符串,返回一个列表,用正则表达式匹配内容对字符串进行分割 如果正则表达式存在分组,则把分组匹配内容放在列表每两个分割中间作为列表一部分,

1.1K30

大数据—爬虫基础

匹配点字符 " ( ) " 提取括号内匹配数据 " ^ " 匹配字符串开始 " $ " 匹配字符串结束 " * " 匹配前面的子表达式零次或多次...) 扫描整个字符串并返回第一个成功匹配 re.findall( ) 在字符串中找到正则表达式所匹配所有子串, 并返回一个列表, 如果没有找到匹配, 则返回空列表 re.split( ) 将一个字符串按照正则表达式匹配结果进行分割..., 返回列表类型 re.finditer( ) 在字符串中找到正则表达式所匹配所有子串, 并把它们作为一个迭代器返回 re.sub( ) 把字符串中所有匹配正则表达式地方替换成新字符串 re.complie...**kwargs:其他关键字参数, class_(注意有一个下划线)用于查找具有特定标签。...选取属性 " * " 匹配任意节点 " /text () " 获取Element对象元素内容( 文本 ) " /@ " 获取标签属性名内容 " [ ] " 筛选符合条件节点 1.

7621

shell 循环命令

,字符,字符串所组成列表,for 循环来遍历这个列表。...默认情况下,bash shell会将下列字符当作字段分隔符: 空格 制表符 换行符 如果bash shell在数据中看到以上这些字符任意一个,它就会假定这表明了列表中一个新数据字段开始。...它会强制shell 使用文件扩展匹配。文件扩展匹配是生成匹配指定通配符文件名或路径名过程。在不知道所有的文件名,这个特性在处理目录文件时就非常有用。...注意,有些部分并没有遵循 bash shell 标准 for 命令: 变量赋值可以有空格 条件变量不以美元符开头 迭代过程算式未用 expr 命令格式 使用 C 风格 for 命令可以像...控制循环 有时我们在脚本执行循环过程,我们需要根据特定条件来及时退出循环去执行其他任务,所以我们要能够对循环进行条件控制,shell break 命令,continue 命令能帮我们控制循环内部情况

1.2K20

Bash 手册 v3.2 - 3

条件操作符'-f'不能加以引用,     以免被当作普通字符串.     当使用操作符'=='和'!...='时, 操作符右边字符串被当作一个模式, 并依据3.5.8.1     节介绍'模式匹配'规则来进行匹配....'=~'右边     字符串被作为增广正则表达式进行匹配(参见 regex3). 如果字符串匹配则     返回0, 否则返回1. 如果正则表达式语法错误, 则该条件表达式返回2....正则表达式内括号子表达式所匹配字符串被保存在数组变量     'BASH_REMATCH'. 'BASH_REMATCH'序号为0元素是跟整个正则表达式匹配     字符串....'BASH_REMATCH'序号为N元素是与第N个括号子表达式匹配字符     串部分.      基本表达式可以用以下操作符加以组合.

1.5K10

一篇搞定Python正则表达式

:         re.compile(r"""           <imgs +)#标签开始           [^>]*?...2.3 正则表达式对象常用方法     1. rx.findall(s,start, end):       返回一个列表,如果正则表达式没有分组,则列表包含是所有匹配内容,       如果正则表达式中有分组...,则列表每个元素是一个元组,元组包含子分组匹配内容,但是没有返回整个正则表达式匹配内容     2. rx.finditer(s, start, end):       返回一个可迭代对象...      如果正则表达式在字符串起始匹配,就返回一个匹配对象,否则返回None     5. rx.sub(x, s, m):       返回一个字符串。...7. rx.split(s, m):分割字符串       返回一个列表       用正则表达式匹配内容对字符串进行分割       如果正则表达式存在分组,则把分组匹配内容放在列表每两个分割中间作为列表一部分

97360

一篇搞定Python正则表达式

:         re.compile(r"""           <imgs +)#标签开始           [^>]*?...2.3 正则表达式对象常用方法     1. rx.findall(s,start, end):       返回一个列表,如果正则表达式没有分组,则列表包含是所有匹配内容,       如果正则表达式中有分组...,则列表每个元素是一个元组,元组包含子分组匹配内容,但是没有返回整个正则表达式匹配内容     2. rx.finditer(s, start, end):       返回一个可迭代对象...      如果正则表达式在字符串起始匹配,就返回一个匹配对象,否则返回None     5. rx.sub(x, s, m):       返回一个字符串。...7. rx.split(s, m):分割字符串       返回一个列表       用正则表达式匹配内容对字符串进行分割       如果正则表达式存在分组,则把分组匹配内容放在列表每两个分割中间作为列表一部分

57600

Python正则表达式很难?一篇文章搞定他,不是我吹!

: re.compile(r""" <imgs +)#标签开始 [^>]*?#不是src属性 src=#src属性开始 (?: (?P["'])#左引号 (?...2.3 正则表达式对象常用方法 1. rx.findall(s,start, end): 返回一个列表,如果正则表达式没有分组,则列表包含是所有匹配内容, 如果正则表达式中有分组,则列表每个元素是一个元组...,元组包含子分组匹配内容,但是没有返回整个正则表达式匹配内容 2. rx.finditer(s, start, end): 返回一个可迭代对象 对可迭代对象进行迭代,每一次返回一个匹配对象,可以调用匹配对象...7. rx.split(s, m):分割字符串 返回一个列表 用正则表达式匹配内容对字符串进行分割 如果正则表达式存在分组,则把分组匹配内容放在列表每两个分割中间作为列表一部分,: rx...06. m.start(g): 当前匹配对象子分组是从字符串那个位置开始匹配,如果当前组没有参与匹配就返回-1 07. m.end(g) 当前匹配对象子分组是从字符串那个位置匹配结束,如果当前组没有参与匹配就返回

11610

一篇搞定Python正则表达式

:         re.compile(r"""           <imgs +)#标签开始           [^>]*?...2.3 正则表达式对象常用方法     1. rx.findall(s,start, end):       返回一个列表,如果正则表达式没有分组,则列表包含是所有匹配内容,       如果正则表达式中有分组...,则列表每个元素是一个元组,元组包含子分组匹配内容,但是没有返回整个正则表达式匹配内容     2. rx.finditer(s, start, end):       返回一个可迭代对象...      如果正则表达式在字符串起始匹配,就返回一个匹配对象,否则返回None     5. rx.sub(x, s, m):       返回一个字符串。...7. rx.split(s, m):分割字符串       返回一个列表       用正则表达式匹配内容对字符串进行分割       如果正则表达式存在分组,则把分组匹配内容放在列表每两个分割中间作为列表一部分

73631

Linux每日一讲:awk命令

花括号({})不需要在程序始终出现,但它们用于根据特定模式对一系列指令进行分组。 pattern就是要表示正则表达式,用斜杠括起来。...awk语言最基本功能是在文件或者字符串基于指定规则浏览和抽取信息,awk抽取信息后,才能进行其他文本操作。完整awk脚本通常用来格式化文本文件信息。 通常,awk是以文件一行为处理单位。...然而,在许多编程情况,可能需要在 awk 开始处理输入文件文本之前执行初始化代码。对于这种情况, awk 允许您定义一个 BEGIN 块。...awk 还有"do...while"循环,它在代码块结尾条件求值,而不像标准 while 循环那样在开始求值。 它类似于其它语言中"repeat...until"循环。...如果迭代等于 4,则增加 x并调用 continue 语句,该语句立即使 awk 开始执行下一个循环迭代,而不执行代码块其余部分。如同 break 一样, 将使循环控制变量自动增加。

86120

Python正则表达式很难?一篇文章搞定他,不是我吹!

=world)",用来匹配"hello wangxing"和"hello world"只能匹配到后者hello 1.5 条件匹配 (?...2.3 正则表达式对象常用方法 1. rx.findall(s,start, end): 返回一个列表,如果正则表达式没有分组,则列表包含是所有匹配内容, 如果正则表达式中有分组,则列表每个元素是一个元组...,元组包含子分组匹配内容,但是没有返回整个正则表达式匹配内容 2. rx.finditer(s, start, end): 返回一个可迭代对象 对可迭代对象进行迭代,每一次返回一个匹配对象,可以调用匹配对象...7. rx.split(s, m):分割字符串 返回一个列表 用正则表达式匹配内容对字符串进行分割 如果正则表达式存在分组,则把分组匹配内容放在列表每两个分割中间作为列表一部分,: 8...06. m.start(g): 当前匹配对象子分组是从字符串那个位置开始匹配,如果当前组没有参与匹配就返回-1 07. m.end(g) 当前匹配对象子分组是从字符串那个位置匹配结束,如果当前组没有参与匹配就返回

83030

002_第一部分_[字典 列表解析

: del d['a'] 4.遍历: >[生成一个生成器,可以进行迭代操作][字典是无序,所以返回迭代对象也是无序] d.items() 生成器是一个元组列表 d.values() d.keys...: 列表解析是Python重要语法糖 列表解析速度比for in 迭代 快 基本语法: ret = [expression for item in iterator] ret = [...例子2: 带条件列表解析: lst = list(range(10)) [x + 1 for x in lst if x % 2 == 0] //输出奇数 [...: python2 和python3最大差别就是在于字符串 python2字符串是byte有序序列 python3字符串是unicode有序序列 字符串是不可变 字符串支持下标和切片 1.字符串切片操作...f.find('fs') //从左开始查找第一次匹配位置; 找不到会返回 -1 f.find('fs', 2, 4) //设置 [开始

77310

shell脚本编程之路1

if/test结构括号是调用test命令标识/右括号是关闭条件判断,注意结构并不是必须有括号,但是新版Bash要求必须这样。...]],结果为真 [[ ]] 匹配字符串或通配符,不需要引号 使用[[ … ]]条件判断结构,而不是[ … ],能够防止脚本许多逻辑错误。...四种模式字符串提取和替换: #第一种:对大括号以逗号分割文件列表进行拓展。 touch {a,b}.txt 结果为a.txt b.txt。...个字符到末尾所有字符 # 若num为正数,从左边0开始 # 若num为负数,从右边开始提取字串,但必须使用在冒号后面加空格或一个数字或整个num加上括号,${var: -2}、${var: 1-.../bin/bash #迭代一个字符串或者CSV(comma separated value,都好分隔型数值)单词: data="111,222,333|444,555,666" oldIFS=$IFS

2.7K20

Bash基础训练指南

Bash 条件表达式 在计算机科学条件语句、条件表达式和条件结构是程序设计语言特征,它们根据程序设计人员指定布尔条件值为真或假来执行不同计算或操作。...在bash,[[ 复合命令和 [ 内置命令使用条件表达式来测试文件属性并执行字符串和算术比较。...下面是最流行bash条件表达式列表,您不必费力地记住它们,您可以简单地将此页面标记为书签,并在需要时返回到此列表!...当与 [[ 命令一起使用时,它将执行上面描述模式匹配(复合命令): [[ ${string1} == ${string2} ]] 如果字符串不相等,为真: [[ ${string1} !...与其他语言一样,我们也可以在bash脚本中使用continue和break: continue告诉bash脚本停止循环的当前迭代开始下一个迭代 break告诉bash脚本立即结束循环 12.

2.1K10

SHELL编程基本知识点一

行下边一行开始),忽略注释. : #!/bin/sh #!/bin/bash #!/usr/bin/perl #!/usr/bin/tcl #!/bin/sed -f #!.../usr/awk -f 2,条件表达式 条件表达式用于 [[ 复合命令以及内建命令 test 和 [ ,用来测试文件属性,进行字符串和算术比较。...表示上一级目录. .字符匹配,这是作为正则表达是的一部分,用来匹配任何单个字符. " 部分引用" " 可引用除$、` 、\ 、外任意字符或字符串," "变量能够正常显示变量值....保存一个命令/一个函数或者脚本本身退出状态. $$ 进程 ID 变量.这个$$变量保存运行脚本进程 ID () 命令组.: (a=hello;echo $a) 注意:在()命令列表,...+ 选项,对于特定命令来说使用"+"来打开特定选项,用"-"来关闭特定选项. % 算术取模运算.也用在正则表达式.

91620

shell各种括号作用()、(())、]、{}「建议收藏」

[[ ]] 匹配字符串或通配符,不需要引号。 ③使用[[ … ]]条件判断结构,而不是[ … ],能够防止脚本许多逻辑错误。...第二种:对大括号以点点(..)分割顺序文件列表起拓展作用,:touch {a..d}.txt 结果为a.txt b.txt c.txt d.txt # ls {ex1,ex2}.sh...这种模式时,shell在variable查找,看它是否一给模式pattern开始,如果是,就从命令行把variable内容去掉左边最短匹配模式 第四种模式: {variable...若num为正数,从左边0开始;若num为负数,从右边开始提取字串,但必须使用在冒号后面加空格或一个数字或整个num加上括号,{var: -2}、{var:1-3}或{var:(-2)}。...表示从var字符串第num1个位置开始提取长度为num2子串。不能为负数。

3.9K40
领券