Python--数据容器

news2024/11/17 5:34:08

文章目录

  • 一、数据容器
    • 数据容器特点对比
  • 二、序列
  • 三、列表(list)
    • 3.1、列表定义:
    • 3.2、列表下标索引
    • 3.3、列表常用方法:
    • 3.4、list遍历
  • 四、元组(tuple)
    • 4.1、元组定义
    • 4.2、元组的常用方法
    • 4.3、元组的遍历
  • 五、字符串(str)
    • 5.1、字符串定义
    • 5.2、常用方法
    • 5.3、字符串遍历
  • 六、序列切片
    • 语法
    • 示例:
  • 七、集合(set)
    • 7.1、集合定义
    • 7.2、常用方法
    • 7.3、遍历集合
  • 八、字典(dict)
    • 8.1、字典定义
    • 8.2、常用方法
    • 8.3、遍历字典
  • 九、容器通用常用功能

一、数据容器

数据容器是一种可以容纳多份数据的数据类型,容纳的每一份数据类型称之为1个元素。每一个元素可以是任意类型的数据。

数据容器特点对比

列表(list)元组(tuple)字符串(str)集合(set)字典(dict)
元素数量支持多个支持多个支持多个支持多个支持多个
元素类型任意任意仅字符任意k:v
下标索引支持支持支持不支持不支持
重复元素支持支持支持不支持不支持
可修改性支持不支持不支持支持支持
数据有序
是否支持while循环
使用场景可修改、可重复不可修改、可重复一串字符不可重复以key检索value

二、序列

序列是指:内容连续、有序,可以使用下标索引的一类数据容器
列表(list)、元组(tuple)、字符串(str)均可以视为序列。

在这里插入图片描述

如上图,序列的典型特征就是:有序可用下标索引,字符串、元组、列表均满足这个要求

三、列表(list)

3.1、列表定义:

# 字面量
["tai", "bai", "python"]
# 定义变量
name = ["tai", "bai", "python"]
# 定义空列表
name = []
name = list()
# 嵌套列表
message = [[1, 2, 3], ["tai", "bai", "python"], [21, 22, 25]]

3.2、列表下标索引

列表的每一个元素,都有编号称之为下标索引
从前向后的方向,编号从0开始递增
从后往前的方向,编号从-1开始递减

通过下标获取对应位置的元素

列表[下标]

# 通过下标索引取出对应位置的数据
my_list = ["Tom", "Lily", "Rose"]
print(my_list[0])
print(my_list[1])
print(my_list[2])
# 通过下标索引去除数据(倒序取出)
print(my_list[-1])
print(my_list[-2])
print(my_list[-3])

注意:

要注意下标索引的取值范围,超出范围无法取出元素,并且会报错(IndexError: list index out of range)

3.3、列表常用方法:

方法作用
列表.append(元素)向列表中追加一个元素
列表.extend(容器)将数据容器的内容依次去除,追加到列表尾部
列表.insert(下标, 元素)在指定下标出,插入指定的元素
del 列表[下标]删除列表指定下标元素
列表.pop(下标)删除列表指定下标元素(返回删除的元素)
列表.remove(元素)从前向后,删除此元素第一个匹配项
列表.clear()清空列表
列表.count(元素)统计此元素在列表中出现的次数
列表.index(元素)查找指定元素在列表的下标(找不到报错ValueError)
len(列表)统计容器中有多少元素

示例:

# 1.1 查找某元素在列表内的下标索引
index = name.index("tai")
print(f"tai在list的下标为{index}")

# 1.2 如果被查找的元素不存在,会报错   ValueError: 'li' is not in list
# index = name.index("li")
# print(f"li在list的下标为{index}")

# 2、修改特定下标索引的值
name[1] = "libai"
print(name)

# 3、在指定下标位置插入新元素
name.insert(1, "li")
print(name)

# 4、在列表的尾部追加  单个  新元素
name.append("bai")
print(name)

# 5、在列表的尾部追加  一批  新元素
name.extend(["java", "mysql"])
print(name)
# 6、 删除指定下标的元素 (两种方法)
# 6.1 方式1:del 列表[下标]
del name[2]
print(name)
# 6.2 方式2:列表.pop(下标)
element = name.pop(2)
print(f"通过pop取出元素后列表内容为:{name},取出的元素为{element}")

# 7、删除某元素在列表中的第一个匹配项
name.remove("tai")
print(name)

# 8、清空列表
# name.clear()
# print(name)
# 9、统计列表内某元素的数量
count = name.count("bai")
print(f"bai在列表中出现了{count}次")
# 10、统计列表中全部的元素数量
len = len(name)
print(f"name一个有{len}个元素")

3.4、list遍历

def list_while_func():
    """
    使用while循环遍历列表的演示函数
    :return: None
    """
    my_list = ["li", "tai", "bai"]
    # 循环控制变量通过下标索引来控制,默认0
    # 每一次循环将下标索引变量+1
    # 循环条件: 下标索引变量 < 列表的元素数量

    # 定义一个变量用来标记列表的下标
    index = 0           # 初始值的下标为0
    while index < len(my_list):
        print(my_list[index])
        index += 1

# list_while_func()
def list_for_func():
    """
    使用for循环遍历列表的演示函数
    :return: None
    """
    my_list = [1, 2, 3, 4, 5]
    # for 临时变量 in 数据容器:
    for i in my_list:
        print(i)

四、元组(tuple)

4.1、元组定义

# 定义元组字面量
("taibai", 666, True)
# 定义元组变量
t1 = ("taibai", 666, True)
# 定义空元组
t2 = ()
t3 = tuple()
# 嵌套元组
t5 = ((1, 2, 3), (4, 5, 6))

4.2、元组的常用方法

在上述数据容器的描述中,已描述元组是不可修改的,所以并没有 增删改的操作

方法作用
元组.index(元素)查找某个元素,如果数据存在返回对应下标,否则报错(ValueError: tuple.index(x): x not in tuple)
元组.count(元素)统计某个元素在当前元组出现的次数
len(元组)统计元组中的元素个数

示例:

# 元组的操作: index查找方法
t6 = ("tai", "bai", "python", "python")
index = t6.index("bai")
print(f"bai出现在元组的下标为{index}")

# 元组的操作:count统计方法
count = t6.count("python")
print(f"python在元组中出现了{count}次")

# 元组的操作: len函数统计元祖元素数量
len = len(t6)
print(f"t6元组一共有{len}个元素")

4.3、元组的遍历

t6 = ("tai", "bai", "python", "python")
def tuple_while_func():
    i = 0
    while i < len:
        print(t6[i])
        i += 1

# 元组的遍历: for
def tuple_for_func():
    for i in t6:
        print(i)

五、字符串(str)

尽管字符串看起来并不像列表、元组那样,看起来存放了许多数据的容器
但不可否认,字符串也是数据容器的一员
并且字符串也是一个无法修改的数据容器,每次修改只是得到了一个新的字符串

5.1、字符串定义

# 字面量
'taibai'
"taibai"
# 定义变量
name = 'taibai'
name = "taibai"
name = """taibai"""
# 定义空字符串
str1 = ''
str2 = ""
str3 = """"""
str4 = str()

5.2、常用方法

方法作用
字符串[下标]根据下标索引去除特定位置字符
字符串.index(字符串)给定字符的第一个匹配项的下标
字符串.replace(字符串1,字符串2)将字符串内的全部字符串1,替换为字符串2(并不会修改原字符串,而是得到一个新的字符串)
字符串.split(字符串)按照给定字符串,对字符串进行分割,不会修改原字符串,而是得到一个新的列表
字符串.strip()移除首尾的空格和换行符
字符串.strip(字符串)移除首尾的指定字符串(此处是按照单个字符去除)
字符串.count(字符串)统计字符串内某字符串的出现次数
len(字符串)统计字符串的字符个数

示例:

my_str = "My name is taibai"
# 通过下标索引取值
value = my_str[5]
value2 = my_str[-4]
print(f"从字符串{my_str}取下标为5得值为:{value},取下标为-4的值为:{value2}")
# index方法
value = my_str.index("is")
print(value)
# replace方法
my_str1 = my_str.replace("taibai", "taibai_yuan")
print(my_str1)
# split方法
my_list = my_str.split(" ")
print(my_list)
# strip方法 不添加参数去除前后空格 添加参数去除前后参数
my_str = "  My name is taibai  "
my_aa = my_str.strip()
print(my_aa)
my_str = "123My name is taibai321"
my_bb = my_str.strip("123")
print(my_bb)
# 统计字符串中某字符串的出现次数
count = my_str.count("a")
print(f"在{my_str}中a出现了{count}次")
# 统计字符串的长度
num = len(my_str)
print(f"{my_str}长度为{num}")

5.3、字符串遍历

my_str = "My name is taibai"

# 使用while循环遍历
index = 0
while index < len(my_str):
    print(my_str[index])
    index += 1

# 使用for循环遍历
for i in my_str:
    print(i)

六、序列切片

语法

序列[起始下标:结束下标:步长]

表示从序列中,从指定位置开始,依次去除元素,到指定位置结束,得到一个新的序列

  • 起始下标:表示从何处开始,可以不写,不写表示从头开始
  • 结束下标:表示从何处结束,可以不写,不写表示截取到结尾
  • 步长:表示依次取元素的间隔(可以为负数,表示倒序执行)

注意:

此操作不会影响序列本身,而是会得到一个新的序列(列表、元组、字符串)

示例:

# 对list进行切片,从1开始,4结束,步长为1
my_list = [0, 1, 2, 3, 4, 5, 6]
result = my_list[1:4]       # 步长默认为1,可以不写
print(result)

# 对tuple进行切片,从头开始,到最后结束,步长为1
my_tuple = (0, 1, 2, 3, 4, 5, 6)
result1 = my_tuple[:]       # 起始和结束不写,表示从头到尾  步长默认为1,也可以不写
print(result1)

# 对str进行切片,从头开始,到最后结束,步长为2
my_str = "0123456"
result2 = my_str[::2]
print(result2)
# 对str进行切边,从头开始,到最后结束,步长为-1
result3 = my_str[::-1]
print(result3)

# 对列表进行切片,从3开始,到1结束,步长为-1
result4 = my_list[3:1:-1]
print(result4)
# 对元组进行切片,从头开始,到尾结束,步长为-2
result5 = my_tuple[::-2]
print(result5)

七、集合(set)

7.1、集合定义

# 定义集合字面量
{"my", "name", "taibai", "python"}
# 定义集合变量
my_set = {"my", "name", "taibai", "python"}
# 定义空集合
my_set1 = set()

使用下列代码结果可看为 去重且无序

my_set = {"my", "name", "taibai", "python", "python", "python", "python"}
my_set1 = set()
print(my_set)

在这里插入图片描述

7.2、常用方法

方法作用
集合.add(元素)集合内添加一个元素
集合.remove(元素)移除集合内指定的元素
集合.pop()从集合中随机取出一个元素(并返回取出的元素)
集合.clear()将集合清空
集合1.difference(集合2)得到一个新集合,内含2个集合的差集(原有2个集合内容的不变)
集合1.difference_update(集合2)在集合1中,删除集合2中存在的元素(集合1被修改,集合2不变)
集合1.union(集合2)得到1个新集合,内含2个集合的全部元素(原有的2个集合内容不变)
len(集合)得到一个整数,记录了集合的元素数量

示例:

my_set = {"my", "name", "taibai", "python"}
# 添加新元素
my_set.add("taibai_yuan")
print(my_set)
# 移除元素
my_set.remove("my")
print(my_set)
# 随机取出一个元素
string = my_set.pop()
print(string)
print(my_set)
# 清空集合
my_set.clear()
print(my_set)
# 取2个集合的差集
set1 = {"tai", "bai", "yuan"}
set2 = {"my", "name", "tai", "yuan"}
set3 = set1.difference(set2)
print(set1)
print(set2)
print(set3)
# 消除两个集合的差集
set1.difference_update(set2)
print(set1)
print(set2)
# 2个集合合并为1个
set1 = {"tai", "bai", "yuan"}
set2 = {"my", "name", "tai", "yuan"}
set3 = set1.union(set2)
print(set3)

# 统计集合元素数量
count = len(set1)
print(count)

7.3、遍历集合

由于集合无序,不可使用下标。所以不能使用while进行循环遍历

# 集合遍历
for i in set1:
    print(i)

八、字典(dict)

8.1、字典定义

# 定义字典字面量
{"taibai": 21, "yuan": 19, "libai": 30, "zhangsan": 10}
# 定义字典变量
my_dict = {"taibai": 21, "yuan": 19, "libai": 30, "zhangsan": 10}
# 定义空字典
my_dict1 = dict()
my_dict2 = {}

注意:

  • 每一份数据都是k-v键值对
  • 可用于通过key获取value,key不可重复(重复会覆盖)

8.2、常用方法

方法作用
字典[key]获取指定key对应的value值
字典[key] = value添加或更新键值对
字典.pop(key)取出key对应的value并在字典内删除此key的键值对
字典.clear()清空字典
字典.keys()获取字典的全部key,可以用来for循环遍历字典
len(字典)计算字典内的元素数量

示例:

my_dict = {"张三": 99, "李四": 88, "王五": 77}
# 获取指定key对应的value值
value = my_dict["张三"]
# 新增元素
my_dict["太白"] = 100
print(my_dict)
# 更新元素
my_dict["太白"] = 150
print(my_dict)
# 删除元素
value = my_dict.pop("张三")
print(value)
print(my_dict)
# 清空元素
my_dict.clear()
print(my_dict)

# 获取全部的key
my_dict = {"张三": 99, "李四": 88, "王五": 77}
dict_set = my_dict.keys()
print(dict_set)

8.3、遍历字典

# 遍历字典
# 方式一:获取到所有的key来遍历key获取dict的元素
for i in dict_set:
    print(f"{i}:{my_dict[i]}")
# 方式二:直接使用for循环就可以获取到dict的key
for i in my_dict:
    print(f"{i}:{my_dict[i]}")

九、容器通用常用功能

功能作用
通用for循环遍历容器(字典是遍历key)
max()容器内最大元素
min()容器内最小元素
len()容器元素个数
list()转换为列表
tuple()转换为元组
str()转换为字符串
set()转换为集合
sorted(序列,[reverse=True])排序,reverse=True 表示降序(得到一个排好序的序列)

注意:

  • 字典转换为字符串并不会又影响
  • 字典转换为列表会将value丢失
  • 字典转换为元组会将value丢失
  • 字典转换为集合会将value丢失
  • 其余容器转字典,由于其余数据容器并无键值对,所以无法转字典

示例:

my_list = [3, 1, 2, 8, 0]
my_tuple = (3, 1, 2, 8, 0)
my_str = "cdiracl"
my_set = {3, 1, 2, 8, 0}
my_dict = {"key1": 1, "key3": 3, "key2": 2}

# len元素
print(f"列表 元素个数有:{len(my_list)}")
print(f"元组 元素个数有:{len(my_tuple)}")
print(f"字符串 元素个数有:{len(my_str)}")
print(f"集合 元素个数有:{len(my_set)}")
print(f"字典 元素个数有:{len(my_dict)}")

# max最大元素
print(f"列表 元素最大元素有:{max(my_list)}")
print(f"元组 元素最大元素有:{max(my_tuple)}")
print(f"字符串元素最大元素有:{max(my_str)}")
print(f"集合 元素最大元素有:{max(my_set)}")
print(f"字典 元素最大元素有:{max(my_dict)}")

# min最小元素
print(f"列表 元素最小元素有:{min(my_list)}")
print(f"元组 元素最小元素有:{min(my_tuple)}")
print(f"字符串元素最小元素有:{min(my_str)}")
print(f"集合 元素最小元素有:{min(my_set)}")
print(f"字典 元素最小元素有:{min(my_dict)}")

# 类型转换:容器转列表
print(f"列表 转列表有:{list(my_list)}")
print(f"元组 转列表有:{list(my_tuple)}")
print(f"字符串转列表有:{list(my_str)}")
print(f"集合 转列表有:{list(my_set)}")
print(f"字典 转列表有:{list(my_dict)}")
# 类型转换:容器转元组
print(f"列表 转元组有:{tuple(my_list)}")
print(f"元组 转元组有:{tuple(my_tuple)}")
print(f"字符串转元组有:{tuple(my_str)}")
print(f"集合 转元组有:{tuple(my_set)}")
print(f"字典 转元组有:{tuple(my_dict)}")
# 类型转换:容器转字符串
print(f"列表 转字符串有:{str(my_list)}")
print(f"元组 转字符串有:{str(my_tuple)}")
print(f"字符串转字符串有:{str(my_str)}")
print(f"集合 转字符串有:{str(my_set)}")
print(f"字典 转字符串有:{str(my_dict)}")
# 类型转换:容器转集合
print(f"列表 转集合有:{set(my_list)}")
print(f"元组 转集合有:{set(my_tuple)}")
print(f"字符串转集合有:{set(my_str)}")
print(f"集合 转集合有:{set(my_set)}")
print(f"字典 转集合有:{set(my_dict)}")

# 转字典,由于其余数据容器并无键值对,所以无法转字典


# sorted 排序   将内容排序放入列表之中
print(f"列表 对象排序结果有:{sorted(my_list)}")
print(f"元组 对象排序结果有:{sorted(my_tuple)}")
print(f"字符串对象排序结果有:{sorted(my_str)}")
print(f"集合 对象排序结果有:{sorted(my_set)}")
print(f"字典 对象排序结果有:{sorted(my_dict)}")

# 反向排序
print(f"列表 对象排序结果有:{sorted(my_list, reverse=True)}")
print(f"元组 对象排序结果有:{sorted(my_tuple, reverse=True)}")
print(f"字符串对象排序结果有:{sorted(my_str, reverse=True)}")
print(f"集合 对象排序结果有:{sorted(my_set, reverse=True)}")
print(f"字典 对象排序结果有:{sorted(my_dict, reverse=True)}")

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Unity 3D 资源下载 || Unity 3D 综合案例

Unity 3D 资源下载 你也可以在 Unity 3D 中执行 Window → Asset Store 菜单命令直接访问 Unity 资源商店&#xff08;Asset Store&#xff09;。 Unity 资源商店简介 Unity 资源商店https://www.assetstore.unity3d.com/ 中提供了多种类的游戏媒体资源&#xff08;人物模型…

某微1day后台RCE审计漏洞

某应用存在后台RCE&#xff0c;根据相关信息&#xff0c;我们在对后台审计过程&#xff0c;这里发现一处调用newInstance实例化溯源找到InterfaceRegisterCustomOperationCmd #excute访问路径为 /api/integration/workflowflow/getInterfaceRegisterCustomOperationgetInterfac…

腾讯云域名备案以及ssl证书申请部署springboot

网站备案 1. 先进行网站备案 网站&#xff1a;https://console.cloud.tencent.com/beian 2. 然后在进行公安备案 流程&#xff1a;https://cloud.tencent.com/document/product/243/19142 3. 再在网站中添加备案号 #示例代码如下&#xff1a; <a href"https://b…

计算机网络——ICMP协议

ICMP 支持主机或者服务器实现差错或者异常的探寻。ICMP的功能体现即发送特定的ICMP报文 类型&#xff1a;ICMP属于哪一类的 代码&#xff1a;是为了进一步区分某种类型中不同的情况 检验和&#xff1a;检验整个ICMP报文 ICMP报文 1 终点不可达类型&#xff1a;当路由器或者…

excel超链接应用:快速生成目录的几个方法-上

在平时工作中&#xff0c;为了能快速打开需要的工作表&#xff0c;我们通常会设置一个目录。目录的设置方法有很多种&#xff0c;但大多数人使用的方法还是基本的手动插入超链接的操作。虽然这个方法也行&#xff0c;但是将大大降低你的工作效率&#xff0c;那么今天&#xff0…

【eiseg教程,快速给语义分割任务打标签】

eiseg教程1.安装EISeg2.载入模型权重3.添加类别标签4.设置格式5.标注图片6.部分按键/快捷键eiseg是百度开发的半自动标注工具&#xff0c;可以快速给语义分割任务打标签&#xff0c;提高工作效率。1.安装EISeg &#xff08;1&#xff09;新建一个python3.8的虚拟环境 &#xf…

3D Diffusion模型来了!OpenAI出品,已开源

文&#xff5c;天于刀刀2022年不愧是 AIGC 行业元年。伴随着 ChatGPT 的大火使得谷歌一周之内改口“会认真评估 ChatGPT 对搜索引擎的影响”&#xff0c;OpenAI 在 3D 图像生成领域进一步放出了大招开源项目“Point-E” [1]&#xff0c;可玩程度不下于 ChatGPT&#xff01;简单…

Spring AOP源码探究

1. 前言 Spring除了IOC和DI&#xff0c;还有另一个杀手锏功能——Spring AOP。AOP是一种面向切面的编程思想&#xff0c;它的关注点是横向的&#xff0c;不同于OOP的纵向。面向对象编程时&#xff0c;如果我们要给多个类引入同一个行为&#xff0c;唯一的方式就是使用继承&…

了解SpringBoot自动配置原理

目录 1、SpringBoot特点 1.1、依赖管理 1.1.1 父项目做依赖管理 1.1.2 开发导入starter场景启动器 1.1.3 无需关注版本号&#xff0c;自动仲裁机制 1.1.4 可以修改默认版本号 1.2、自动配置 2、容器功能 2.1、组件添加 1、Configuration 2、Bean、Component、Contro…

医院室内定位导航,便捷、低成本智慧医院室内地图应用解决方案

医院布局作为公共建筑最复杂的结构之一&#xff0c;有规模大、功能复杂等特点&#xff0c;因而&#xff0c;面向医护人员、患者就诊、医院管理等一系列基础医疗服务就成了当下医院智慧化改善的首要问题。电子地图作为大家最喜闻乐见的高效应用形式&#xff0c;可高效为病患提供…

SpringMVC的学习

SpringMVC 文章目录SpringMVC学习目标SpringMVC简介优点入门案例springmvc入门程序开发流程入门案例工作流程分析SpringMVC对应bean加载与spring对应bean加载web配置类简化开发PostMan插件简介基本使用请求与响应请求映射路径请求参数请求方式请求参数(传递json数据)日期类型参…

小程序和公众号相互跳转

小程序跳转公众号 小程序跳转公众号目前只找到 微信暴露的 引导关注组件 official-account, 官方文档如下&#xff1a; https://developers.weixin.qq.com/miniprogram/dev/component/official-account.html 且这个组件展示是有限制的&#xff0c;只有在扫码进入小程序的情况下…

【数据结构Java版】二叉树堆与优先级队列PriorityQueue

目录 一、优先级队列 &#xff08;1&#xff09;优先级队列的概念 &#xff08;2&#xff09;优先级队列的模拟实现 二、堆 &#xff08;1&#xff09;堆的概念 &#xff08;2&#xff09;堆的存储方式 &#xff08;3&#xff09;堆的创建 1.堆的向下调整 2.堆的创建 …

Nginx access.log日志详解及统计分析

Nginx access.log日志详解及统计分析一、nginx的access.log二、日志流量统计统计接口地址访问量PV统计UV统计独立IP统计三、配置access.log按天生成四、nginx.conf配置一、nginx的access.log 1.日志文件一般存放在 /var/log/nginx 下&#xff0c;若是docker启动则可以使用主机…

奇舞周刊 477 期:一文弄懂 React ref 原理

记得点击文章末尾的“ 阅读原文 ”查看哟~下面先一起看下本期周刊 摘要 吧~奇舞推荐■ ■ ■一文弄懂 React ref 原理对于 Ref 理解与使用&#xff0c;一些读者可能还停留在用 ref 获取真实 DOM 元素和获取类组件实例层面上 其实 ref 除了这两项常用功能之外&#xff0c;还有很…

简单通过Sentinel监控请求

文章目录一&#xff1a;运行Sentinel服务二&#xff1a;安装Sentinel依赖2.1&#xff1a;Sentinel Pom依赖2.2&#xff1a;Sentinel YML 配置注意&#xff1a;clientIp.localhost不同sentinel版本依赖缩进层级结构可能不一样&#xff0c;可根据idea提示回车三&#xff1a;启动服…

年终给您提个醒:明年的分区表创建好了吗?

2022年某月&#xff0c;某运营商客户突然出现部分业务办理失败&#xff0c;数据无法入库的现象......经过查询&#xff0c;应用进程insert提示&#xff1a;“ORA-14400”错误。由此诊断&#xff0c;故障出现是由于上月部分表分区未提前创建&#xff0c;导致本月前端业务在导入数…

130道基础OJ编程题之: 47 ~ 57 道

130道基础OJ编程题之: 47 ~ 57 道 文章目录130道基础OJ编程题之: 47 ~ 57 道0. 昔日OJ编程题:47. BC50 计算单位阶跃函数48. BC51 三角形判断49. BC52 衡量人体胖瘦程度50. BC53 计算一元二次方程51. BC54 获得月份天数52. BC55 简单计算器53. BC56 线段图案54. BC57 正方形图案…

【生信】初探蛋白质性质和结构分析

实验目的 熟悉蛋白质序列和结构的主要分析内容在实践中逐步理解蛋白质序列和结构的主要分析算法的基本原理 实验内容 综合使用多种在线工具&#xff0c;对蛋白质的一级、二级和三级结构进行分析和预测综合使用多种在线工具&#xff0c;对蛋白质的跨膜结构、翻译后修饰、亚细…

第二十八讲:神州路由器地址转换的配置

实验拓扑图如下所示 设置内网地址段为192.168.0.0,S0/1为外网出口。通过nat访问192.168.2.0网段。 操作步骤&#xff1a; 步骤1&#xff1a;连接网络拓扑结构图。 步骤2&#xff1a;配置计算机的IP地址、子网掩码和网关。 步骤3&#xff1a;设置Router-B的接口IP地址和DCE的…