Python数据序列

Python数据序列

一、作业回顾

1、面试题

有一样东西,我不知道它的数目,三个或三个中的两个,五个或五个中的三个,以及七个或七个中的两个,这个物体是多少?

[En]

There is one thing, I do not know its number, two of the three or three, three of the five or five, and two of the seven or seven, how much is the object?

白话:有一个数字。我不知道多少钱。用3减2,用5减3,用7减2。这个数字是多少?1~100之间的整数

[En]

Vernacular: there is a number. I don’t know how much it is. Remove 2 with 3, 3 with 5, and 2 with 7. How much is this number? Integers within 1 ~ 100

while循环:

初始化计数器
i = 1
编写循环条件
while i

for循环:

for i in range(1, 101):
    # 判断
    if i % 3 == 2 and i % 5 == 3 and i % 7 == 2:
        print(i)

2、报数字(数7)

Python数据序列

一些同学从1开始报数,当需要报出的数字尾数是7或者该数字是7的倍数时,则该同学跳过这个数字,不进行报数。所有同学都参与游戏后,游戏结束。如输入学生数量为50,游戏结束后,报数的同学数量为39。

分析:如何确定一个数字的尾数是7,以及如何确定一个数字是7的倍数

[En]

Analysis: how to determine that a Mantissa of a number is 7 and how to determine that a number is a multiple of 7

① 如何判断数字尾数为7,i % 10 == 7 17 % 10 = 1 余 7 27 % 10 = 2 余 7

② 如何判断数字是7的倍数,i % 7 == 0

定义一个变量n,用于获取学生数量
n = int(input('请输入学生的数量:'))
定义一个变量来统计有多少人举报<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>Define a variable to count how many people have reported</font>*</details>
count = 0
开始循环
for i in range(1, n+1):
    # 判断数字尾数为7
    if i % 10 == 7:
        continue
    # 判断数值是7的倍数
    if i % 7 == 0:
        continue
    # 如果不满足以上if条件,则对count进行+1操作
    count += 1
print(f'{n}个同学,共报数{count}人')

二、了解字符串

1、字符串的定义

字符串是 Python 中最常用的数据类型。我们一般使用引号来创建字符串。创建字符串很简单,只要为变量分配一个值即可。

案例1:使用单引号或双引号定义字符串变量

str1 = 'abcdefg'
str2 = "hello world"

print(type(str1))  #
print(type(str2))  #

案例2:使用3个引号定义字符串变量

name1 = '''I am Tom, Nice to meet you!'''
print(name1)
print(type(name1))

print('-' * 20)

name2 = """I am Jennify,
           Nice to meet you!"""
print(name2)
print(type(name2))

注意:三引号形式的字符串支持换行操作

案例3:思考如何使用字符串定义”I’m Tom”

使用单引号情况

str1 = 'I'm Tom'

运行结果:

Python数据序列

出现以上问题的主要原因在于,以上字符串的定义代码出现了(syntax)语法错误。==单引号在字符串定义中必须成对出现,而且Python解析器在解析代码时,会自动认为第一个单引号和最近的一个单引号是一对!==

如果一定要在单引号中在放入一个单引号,必须使用==反斜杠==进行转义。

str1 = 'I\'am Tom'

使用双引号情况

str2 = "I'm Tom"

注:在Python中,如果存在多个引号,建议① 单引号放在双引号中 ② 双引号放在单引号中。

2、字符串输入

在Python代码中,我们可以使用 input()方法来接收用户的输入信息。记住:在Python中,input()方法返回的结果是一个 &#x5B57;&#x7B26;&#x4E32;&#x7C7B;&#x578B;的数据。

name = input('请输入您的姓名:')
age = input('请输入您的年龄:')
address = input('请输入您的住址:')

print(name, age, address)

3、字符串的输出

☆ 普通输出

print(变量名称)
print(变量名称1, 变量名称2, 变量名称3)

☆ 格式化输出

① 百分号(Python2和Python3)

name = input('请输入您的姓名:')
age = input('请输入您的年龄:')
address = input('请输入您的住址:')

print('我的名字是%s,今年%d岁了,家里住在%s...' % (name, age, address))

② format方法(Python3)

name = input('请输入您的姓名:')
age = input('请输入您的年龄:')
address = input('请输入您的住址:')

print('我的名字是{},今年{}岁了,家里住在{}...'.format(name, age, address))

③ f形式(Python3)

name = input('请输入您的姓名:')
age = input('请输入您的年龄:')
address = input('请输入您的住址:')

print(f'我的名字是{name},今年{age}岁了,家里住在{address}...')

延伸:

name = input('请输入您购买商品的名称:')
price = float(input('请输入您购买商品的价格:'))  # 18.5

print(f'购买商品名称:{name},商品价格:{price:.2f}')

4、字符串在计算机底层的存储形式

在计算机中,Python中的字符串属于序列结构。所以其底层存储占用一段连续的内存空间。

str1 = 'itheima'

结构原理图:

Python数据序列

注意:索引下标从0开始。

5、聊聊索引下标

&#x7D22;&#x5F15;&#x4E0B;&#x6807;,就是编号。比如火车座位号,座位号的作用:按照编号快速找到对应的座位。同理,下标的作用即是通过下标快速找到对应的数据。

Python数据序列

举个例子:

name = 'abcdef'
print(name[0])  # a
print(name[3])  # d

Python数据序列

三、字符串切片

1、什么是字符串切片

所谓的切片是指对操作的对象==截取==其中一部分的操作。字符串、列表、元组都支持切片操作。

2、字符串切片基本语法

顾头不顾尾:

序列名称[开始位置下标:结束位置下标:步长]

① 不包含结束位置下标对应的数据, 正负整数均可;

② 步长是选取间隔,正负整数均可,正数从左向右,负数从右向左。默认步长为1。

还是有点奇怪,没关系,让我给你一个栗子:

[En]

It’s still a little strange, it doesn’t matter, let me give you a chestnut:

numstr = '0123456789'

如果想对numstr字符串进行切片,如下图所示:

Python数据序列

3、字符串切片小口诀

记口诀:==切片其实很简单,只顾头来尾不管,步长为正正向移,步长为负则逆向移==

如果您对这一原则仍有一点不清楚,建议您画出字符串。

[En]

If you are still a little unclear about this principle, it is recommended that you draw the string.

Python数据序列

4、字符串切片的小栗子

案例1:

numstr = '0123456789'
1、从2到5开始切片,步长为1
print(numstr[2:5:1])
print(numstr[2:5])
2、只有结尾的字符串切片:代表从索引为0开始,截取到结尾字符-1的位置
print(numstr[:5])
3、只有开头的字符串切片:代表从起始位置开始,已知截取到字符串的结尾
print(numstr[1:])
4、获取或拷贝整个字符串
print(numstr[:])
5、调整步阶:类似求偶数
print(numstr[::2])
6、把步阶设置为负整数:类似字符串翻转
print(numstr[::-1])
7、起始位置与结束位置都是负数(遵循一个原则:必须是从左向右截取)
print(numstr[-4:-1])
8、结束字符为负数,如截取012345678
print(numstr[:-1])

案例2:

Python数据序列

案例3:给定一个图片的名称为”avatar.png”,使用Python方法获取这个图片的名称(avatar)以及这个图片的后缀(.png)。

分析:

① 建议先获取点号的位置(目前还未学习,只能一个一个数)

② 从开头切片到点号位置,得到的就是文件的名称

③ 从点号开始切片,一直到文件的结尾,则得到的就是文件的后缀

filename = 'avatar.png'
获取点号的索引下标
index = 6
使用切片截取文件的文件
name = filename[:index]
print(f'上传文件的名称:{name}')

使用切片截取文件的后缀
postfix = filename[index:]
print(f'上传文件的后缀:{postfix}')

第四,字符串的操作方法(内置)

[En]

Fourth, the operation method of string (built-in)

1、字符串中的查找方法

所谓字符串查找方法即是==查找子串在字符串中的位置或出现的次数==。

基本语法:

字符串.find(要查找的字符或者子串)

编号 函数 作用

1 find() 检测某个子串是否包含在这个字符串中,如果在返回这个子串开始的位置下标,否则则返回-1。 2 index() 检测某个子串是否包含在这个字符串中,如果在返回这个子串开始的位置下标,否则则报异常。 3 rfind() 和find()功能相同,但查找方向为右侧开始。 4 rindex() 和index()功能相同,但查找方向为右侧开始。 5 count() 返回某个子串在字符串中出现的次数

☆ find()方法

功能:检测子字符串是否包含在该字符串中,如果在子串的开头返回下标,则返回-1。

[En]

Function: detect whether a substring is included in this string, and return-1 if the subscript is returned at the beginning of the substring.

定义一个字符串
str1 = 'hello world hello linux hello python'
查找linux子串是否出现在字符串中
print(str1.find('linux'))
在str1中查找不存在的子串
print(str1.find('and'))

案例:使用input方法输入任意一个文件名称,求点号的索引下标

filename = input('请输入您要上传文件的名称:')
获取点号的索引下标
index = filename.find('.')
print(index)

求文件名称
print(filename[:index])

求文件后缀
print(filename[index:])

☆ index()方法

index()方法其功能与find()方法完全一致,唯一的区别在于当要查找的子串没有出现在字符串中时,find()方法返回-1,而index()方法则直接报错。

str1 = 'apple, banana, orange'
判断apple是否出现在字符串str1中
print(str1.index('apple'))
print(str1.index('pineapple'))

运行结果:

Python数据序列

☆ rfind()与rindex()方法

r = right,代表从右开始查找

字符串序列.rfind(子串)
字符串序列.rindex(子串)

强调:rfind()方法与rindex()方法适合于查找子串在字符串中出现了多次的情况

案例:有一个文件名称叫20210310axvu.avatar.png,其中点号出现了2次,这个时候,如果我想获取文件的后缀.png,代码应该如何编写?

filename = '20210310axvu.avatar.png'
找出句点在字符串中第一次出现的位置<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>Find out where the period appears for the first time in the string</font>*</details>
index = filename.find('.')
print(index)
查找该句点在字符串中最后出现的位置<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>Find the position of the last occurrence of the period in the string</font>*</details>
index = filename.rfind('.')
print(index)

rfind()方法和rindex()方法语法上完全一致,唯一的区别就是对子串没有出现在字符串的中的情况,rfind()返回-1,rindex()返回错误。

☆ count()方法

主要功能:查找子字符串在字符串中出现的次数

[En]

Main function: find the number of times the substring appears in the string

基本语法:

字符串.count('子串', 开始位置下标, 结束位置下标)

案例:获取字符串中and关键字出现的次数

str1 = 'hello world and hello linux and hello python'
不限定字符串长度
ands = str1.count('and')
限制搜索开始和结束的位置。<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>Limit the location where the search begins and ends.</font>*</details>
ands = str1.count('and', 10, 30)
print(f'and字符串出现的次数为:{ands}')

2、练习题

问题:使用循环嵌套打印等腰三角形

[En]

Problem: use loop nesting to print isosceles triangles

     *
    ***
   *****
  *******
 *********
***********

分析:
① 每一行的星星数,是有规律的。
1  1   1*2 - 1
2  3   2*2 - 1
3  5   3*2 - 1
4  7
5  9
6  11
*
***
*****
*******
*********
***********
② 每一行星星的前面,都是有空格的
1  5
2  4
3  3
4  2
5  1
6  0
     *
    ***
   *****
  *******
 *********
***********

最终代码:

初始化计数器
i = 1
编写循环条件
while i

3、字符串的修改方法

所谓修改后的字符串是指以函数(方法)的形式修改字符串中的数据。

[En]

The so-called modified string refers to modifying the data in the string in the form of a function (method).

编号 函数 作用

1 replace() 返回替换后的字符串 2 split() 返回切割后的列表序列 3 capitalize() 首字母大写 4 title() 所有单词首字母大写 5 upper()与lower() 返回全部大写或小写的字符串 6 lstrip()、rstrip()与strip() 去除左边、右边以及两边的空白字符 7 ljust()、rjust()与center() 返回原字符串左对齐、右对齐以及居中对齐

☆ replace()方法

基本语法:

字符串.replace(要替换的内容, 替换后的内容, 替换的次数-可以省略)

案例:编写一个字符串,然后把字符串中的linux替换为python

str1 = 'hello linux and hello linux'
把字符串中所有linux字符替换为python
print(str1.replace('linux', 'python'))
把字符串中的第一个linux进行替换为python
print(str1.replace('linux', 'python', 1))
把and字符串替换为&&
print(str1.replace('and', '&&'))

目前在工作中,replace主要用于实现关键字替换或过滤功能。北京 ==> BJ,论坛关键字过滤,共产党 => ***

☆ split()方法

作用:对字符串进行切割操作,返回一个list()列表类型的数据

str1 = 'apple-banana-orange'
print(str1.split('-'))

☆ capitalize() 方法

功能:字符串的第一个字母大写,所有其他字符小写

[En]

Function: uppercase the first letter of the string and all other characters in lowercase

☆ title()方法

功能:将字符串中所有单词的首字母大写,以形成一个大驼峰

[En]

Function: capitalize the first letters of all the words in the string to form a big hump

str1 = 'myName'
把str1变成首字母大写字符串
print(str1.capitalize())

str2 = 'student_manager'
把str2变成大驼峰
print(str2.title().replace('_', ''))

☆ upper()与lower() 方法

upper():把字符串全部转换为大写形式

lower():把字符串全部转换为小写形式

用户名以及密码验证案例
username = input('请输入您的账号:')
password = input('请输入您的密码:')

把username和password全部转换为大写或小写
print(username.lower())
print(password.upper())

☆ lstrip()、rstrip()与strip()

strip() 方法主要作用:删除字符串两边的空白字符(如空格)

lstrip() 方法 == left + strip,作用:只删除字符串左边的空白字符

rstrip() 方法,作用:只删除字符串右边的空白字符

用户名验证案例
username = input('请输入您的账号:')

去除username两边的空白字符
print(len(username))
print(username.strip())
print(len(username.strip()))

☆ ljust()、rjust()、center()

函数:返回原始字符串的左对齐、右对齐和中心对齐

[En]

Function: returns the left, right, and center alignment of the original string

基本语法:

字符串序列.ljust(长度, 填充字符)

用例:定义一个字符串,该字符串要求返回长度为10个字符,但未得到充分利用。填充点

[En]

Case: define a string that requires a return length of 10 characters, which is underused. Fill in the dots

str1 = 'python'
左对齐
print(str1.ljust(10, '.'))
右对齐
print(str1.rjust(10, '#'))
居中对齐
print(str1.center(10, '@'))

4、字符串的判断方法

所谓判断即是判断真假,返回的结果是布尔型数据类型:True 或 False。
编号 函数 作用

1 startswith() 检查字符串是否是以指定子串开头,是则返回 True,否则返回 False。如果设置开始和结束位置下标,则在指定范围内检查。 2 endswith() 检查字符串是否是以指定子串结尾,是则返回 True,否则返回 False。如果设置开始和结束位置下标,则在指定范围内检查。 3 isalpha() 如果字符串所有字符(至少有一个字符)都是字母则返回 True, 否则返回 False。 4 isdigit() 如果字符串只包含数字则返回 True 否则返回 False。 5 isalnum() Python isalnum() 方法检测字符串是否由字母和数字组成。如果字符串所有字符(至少有一个字符)都是字母或数字则返 回 True,否则返回 False。 6 isspace() 如果字符串中只包含空白,则返回 True,否则返回 False

☆ startswith()

作用:检查字符串是否是以指定子串开头,是则返回 True,否则返回 False。如果设置开始和结束位置下标,则在指定范围内检查。

str1 = 'python program'
print(str1.startswith('python'))

☆ endswith()

作用:检查字符串是否是以指定子串结尾,是则返回 True,否则返回 False。如果设置开始和结束位置下标,则在指定范围内检查。

str2 = 'avatar.png'
print(str2.endswith('.png'))

if str2.endswith('.png') or str2.endswith('.jpg') or str2.endswith('.gif'):
    print('是一张图片格式的图片')
else:
    print('您上传的文件格式异常')

☆ isalpha()

作用:如果字符串所有字符(至少有一个字符)都是==字母==则返回 True, 否则返回 False。

str1 = 'admin'
str2 = 'admin123'

print(str1.isalpha())  # True
print(str2.isalpha())  # False

☆ isdigit()

作用:如果字符串只包含==数字==则返回 True 否则返回 False。

password = input('请输入您的银行卡密码:')

if len(password) == 6 and password.isdigit():
    print('输入密码成功,正在验证...')
else:
    print('密码输入错误,请重新输入')

☆ isalnum()

作用:Python isalnum() 方法检测字符串是否由==字母和数字==组成。如果字符串所有字符(至少有一个字符)都是字母或数字则返 回 True,否则返回 False。

username = input('请输入的您的用户名(只能为字母+数字形式):')

if username.isalnum():
    print('合理的用户名,正在录入系统...')
else:
    print('输入的用户名有误,请重新输入...')

☆ isspace()

作用:如果字符串中只包含空白,则返回 True,否则返回 False(逆向思维)

str1 = ' '  # 最少要包含一个空白字符
print(str1.isspace())

username = input('请输入的您的用户名:')
if len(username) == 0 or username.isspace():
    print('您没有输入任何字符...')
else:
    print(f'您的输入的字符{username}')

五、列表及其应用场景

1、为什么需要列表

思考:有一个人的姓名(TOM)怎么书写存储程序?

答:变量。

思考:如果一个班级100位学生,每个人的姓名都要存储,应该如何书写程序?声明100个变量吗?

答:No,我们使用列表就可以了, 列表一次可以存储多个数据。

在Python中,我们把这种数据类型称之为列表。但是在其他的编程语言中,如Java、PHP、Go等等中其被称之为数组。

2、列表的定义

列表序列名称 = [列表中的元素1, 列表中的元素2, 列表中的元素3, ...]

案例演示:定义保存苹果、香蕉和菠萝的列表

[En]

Case demonstration: define a list to save apples, bananas, and pineapples

list1 = ['apple', 'banana', 'pineapple']
list列表类型支持直接打印
print(list1)
打印列表的数据类型
print(type(list1))

注意:列表可以一次存储多个数据且可以为不同的数据类型

3、列表的相关操作

列表的用途是一次存储多个数据,程序员可以按如下方式操作这些数据:

[En]

The purpose of a list is to store multiple data at a time, and programmers can manipulate these data as follows:

==增、删、改、查==。

☆ 查操作

列表在计算机中的底层存储形式,列表就像一个字符串一样,在计算机内存中占据一个连续的内存地址,访问列表中的每个元素都可以通过索引下标来获取。

[En]

The underlying storage form of the list in the computer, the list, like a string, occupies a continuous memory address in the computer memory, and each element in the access list can be obtained by “index subscript”.

Python数据序列

如果我们想要获取列表中的元素,这非常简单,只需使用索引下标:

[En]

If we want to get an element in the list, it’s very simple, just use the index subscript:

list1 = ['apple', 'banana', 'pineapple']
获取列表中的banana
print(list1[1])

查操作的相关方法:
编号 函数 作用

1 index() 指定数据所在位置的下标 2 count() 统计指定数据在当前列表中出现的次数 3 in 判断指定数据在某个列表序列,如果在返回True,否则返回False 4 not in 判断指定数据不在某个列表序列,如果不在返回True,否则返回False

举个栗子:

1、查找某个元素在列表中出现的位置(索引下标)
list1 = ['apple', 'banana', 'pineapple']
print(list1.index('apple'))  # 0
print(list1.index('peach'))  # 报错

2、count()方法:统计元素在列表中出现的次数
list2 = ['刘备', '关羽', '张飞', '关羽', '赵云']
统计关羽元素在列表中出现的次数<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>Count the number of times the element Guan Yu appears in the list</font>*</details>
print(list2.count('关羽'))

3、in方法和not in方法(黑名单系统)
list3 = ['192.168.1.15', '10.1.1.100', '172.35.46.128']
if '10.1.1.100' in list3:
    print('黑名单IP,禁止访问')
else:
    print('正常IP,访问站点信息')

☆ 增操作

编号 函数 作用

1 append() 增加指定数据到列表中 2 extend() 列表结尾追加数据,如果数据是一个序列,则将这个序列的数据逐一添加到列表 3 insert() 指定位置新增数据

☆ append()

append() :在列表的尾部追加元素

names = ['孙悟空', '唐僧', '猪八戒']
在列表末尾追加“沙五经”元素<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>Append an element "Sha Wujing" to the end of the list</font>*</details>
names.append('沙僧')
打印列表
print(names)

注意:列表追加数据的时候,直接在原列表里面追加了指定数据,即修改了原列表,故列表为可变类型数据。

☆ extend()方法

将数据追加到列表末尾,如果数据是序列,则将该序列的数据逐一添加到列表中

[En]

Append the data at the end of the list, and if the data is a sequence, add the data of that sequence to the list one by one

案例:

list1 = ['Tom', 'Rose', 'Jack']
1、使用extend方法追加元素"Jennify"
names.extend("Jennify")
print(names)

2、建议:使用extend方法两个列表进行合并
list2 = ['Hack', 'Jennify']
list1.extend(list2)

print(list1)

总结:extend方法比较适合于两个列表进行元素的合并操作

☆ insert()方法

功能:将元素添加到指定位置

[En]

Function: add elements to the specified location

names = ['薛宝钗', '林黛玉']
在薛宝柴和林黛玉之间增加一个新元素“贾宝玉”<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>Insert a new element "Jia Baoyu" between Xue Baochai and Lin Daiyu</font>*</details>
names.insert(1, '贾宝玉')
print(names)

☆ 删操作

编号 函数 作用

1 del 列表[索引] 删除列表中的某个元素 2 pop() 删除指定下标的数据(默认为最后一个),并返回该数据 3 remove() 移除列表中某个数据的第一个匹配项。 4 clear() 清空列表,删除列表中的所有元素,返回空列表。

☆ del删除指定的列表元素

基本语法:

names = ['Tom', 'Rose', 'Jack', 'Jennify']
删除Rose
del names[1]
打印列表
print(names)

☆ pop()方法

功能:删除指定下标的元素,如果不填写下标,则默认删除最后一个。返回的结果是删除的元素。

[En]

Function: delete the element of the specified subscript, if you do not fill in the subscript, delete the last one by default. The result returned is the deleted element.

names = ['貂蝉', '吕布', '董卓']
del_name = names.pop()
或
del_name = names.pop(1)
print(del_name)
print(names)

☆ remove()方法

作用:删除匹配的元素

fruit = ['apple', 'banana', 'pineapple']
fruit.remove('banana')
print(fruit)

☆ clear()方法

清空列表

names = ['貂蝉', '吕布', '董卓']
随着故事的发展,人物都game over
names.clear()
打印列表
print(names)

☆ 改操作

编号 函数 作用

1 列表[索引] = 修改后的值 修改列表中的某个元素 2 reverse() 将数据序列进行倒叙排列 3 sort() 对列表序列进行排序 4 copy() 对列表序列进行拷贝

list1 = ['貂蝉', '大乔', '小乔', '八戒']
修改列表中的元素
list1[3] = '周瑜'
print(list1)

list2 = [1, 2, 3, 4, 5, 6]
list2.reverse()
print(list2)

list3 = [10, 50, 20, 30, 1]
list3.sort()  # 升序(从小到大)
或
list3.sort(reverse=True)  # 降序(从大到小)
print(list3)

list4 = list3.copy()
print(list4)

4、列表的循环遍历

什么是循环遍历?答:循环遍历就是使用while或for循环对列表中的每个数据进行打印输出

while循环:

list1 = ['貂蝉', '大乔', '小乔']

定义计数器
i = 0
编写循环条件
while i < len(list1):
    print(list1[i])
    # 更新计数器
    i += 1

for循环(个人比较推荐):

list1 = ['貂蝉', '大乔', '小乔']
for i in list1:
    print(i)

5、列表的嵌套

列表嵌套:列表中还有另一个列表,我们称之为列表嵌套

[En]

Nesting of lists: there is another list in the list, which we call list nesting

在其他编程语言中,称之为叫做二维数组或多维数组

应用场景:要存储班级一、二、三 => 三个班级学生姓名,且每个班级的学生姓名在一个列表。

classes = ['第一个班级','第二个班级','第三个班级']

一班:['张三', '李四']
二班:['王五', '赵六']
三班:['田七', '孙八']

组合班级和学生信息以形成嵌套列表<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>Combine class and student information to form a nested list</font>*</details>
students = [['张三', '李四'],['王五', '赵六'],['田七', '孙八']]

students = [x,y,z]
students[0] == ['张三', '李四']
students[0][1]

问:我们应该如何访问嵌套列表?

[En]

Question: how should we access the nested list?

访问李四
print(students[0][1])
遍历嵌套列表以获取每个班级的学生信息。<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>Iterate through the nested list to get the student information of each class.</font>*</details>
for i in students:
    print(i)

Original: https://blog.51cto.com/u_15553407/5572403
Author: 蓦然1607
Title: Python数据序列

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/500829/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Pycharm中Django创建HTML页面实现文件或照片的上传和下载

    请您仔细阅读以下条款,如果您对本声明的任何条款表示异议,可以选择不阅读本文章。用户阅读本文章的行为将被视为对本声明全部内容的认可。 (1)本文章只供学习交流使用,严禁用作商业用途。…

    Python 2023年8月3日
    0110
  • Linux 常用命令总结

    文章目录 一、linux 系统基础常识 * Linux 运行方式 快捷键 Windows 和 Linux 系统相对应的概念 二、分类总结常用命令 * 2.1 通用命令 2.2 文件…

    Python 2023年8月5日
    0102
  • Spring Cloud10:Zipkin 服务跟踪

    一、概述 为什么要有服务跟踪,分布式系统中有很多个服务在相互调用,调用关系是错综复杂的,如果这时出现了问题,我们在进行问题排查的时候,或者在优化架构的时候,工作量就比较大,这时候就…

    Python 2023年6月9日
    0134
  • 几种典型的半监督学习方法

    半监督学习前提假设 1.连续性假设(Continuity Assumption) 分类问题- input是比较接近的时候,ouput的后验概率矩阵也应该距离比较小 2.聚类假设(C…

    Python 2023年9月28日
    089
  • 【代码随想录】鱼与钰遇雨数据结构与算法刷题笔记

    文章目录 代码随想录 编程素养 * 代码风格 写算法题目是否用库函数的标准是什么? 算法性能分析 * 时间复杂度 算法超时问题 C/C++基础 * 例子2 代码随想录 https:…

    Python 2023年10月9日
    0107
  • pandas | 学习笔记

    1.可以通过传递一个list对象来创建一个Series,pandas会默认创建整型索引 s = pd.Series([1,3,5,np.nan,6,8]) 2.通过传递一个nump…

    Python 2023年8月16日
    098
  • python魂斗罗源码_Python魂斗罗小游戏源代码

    Contra.py import pygame import sys from pygame.locals import * from settings import Settin…

    Python 2023年9月22日
    075
  • Python自动化测试框架之Pytest相关用法-Fixture(2)

    1、setup和teardown 和unittest一样,pytest也有自己的前置后置条件:setup、teardown。但不同的是,pytest的类型比较多,多达10种,根据不…

    Python 2023年9月10日
    0104
  • GraphPad Prism使用

    GraphPad Prism使用 一、基本表 * 1.XY型 2.列类 3.分组 二、图设计 * 1.图形选择 2.坐标轴 3.图表 三、例图 * 1.热图 一、基本表 1.XY型…

    Python 2023年9月20日
    091
  • 如何使用 System.Text.Json 序列化 DateTimeOffset 为 Unix 时间戳

    在 .NET 中,日期和时间通常使用 DateTime 或 DateTimeOffset 来表示。这两种数据类型都可以表示日期和时间,但它们之间有一些明显的区别。DateTime …

    Python 2023年10月12日
    071
  • 浅谈人工智能时代下的工程伦理问题

    浅谈人工智能时代下的工程伦理问题 一、引言 近年来,随着大数据基础设施建设以及人工智能技术的发展,社会中涌现出许多新技术,给人们带来更便捷的生活。但与其共生的道德风险问题也日益显著…

    Python 2023年9月29日
    0106
  • 2021/10/12

    zli while True:遍历事件,当事件等于退出时,程序结束speed = [0, 0]for event in pygame.event.get():if event.ty…

    Python 2023年9月22日
    062
  • python—悬浮框,嵌套

    python—悬浮框,嵌套 原创 夕陌2022-07-19 11:24:04©著作权 文章标签 表单 chrome 主题切换 文章分类 Python 后端开发 ©著作权…

    Python 2023年5月25日
    0101
  • 发现一个舔狗神器,Python真的太厉害了,自动下载妹子视频…

    兄弟们,现在短视频主播好看的妹子太多了,有时候遇到自己喜欢的,虽然点了赞或者收藏了,但是万一主播把视频隐藏下架了呢? 所以今天咱们就用Python来把这些好看的视频统统保存下来&#…

    Python 2023年11月1日
    074
  • 简析 Linux 的 CPU 时间

    从 CPU 时间说起… 下面这个是 top 命令的界面,相信大家应该都不陌生。 top – 19:01:38 up 91 days, 23:06, 1 user, lo…

    Python 2023年10月19日
    0167
  • Jupyter 介绍、安装及使用

    Jupyter 介绍、安装及使用 一.Jupyter介绍 Jupyter Notebook是一个开源的web应用程序,可以使用它来创建和共享包含实时代码、方程、可视化和文本的文档。…

    Python 2023年8月1日
    0219
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球