当前位置: 首页 > news >正文

Python之一些列表的练习题

1.比较和对比字符串、列表和元组。例如,它们可以容纳哪类内容以及在数据结构上可以做哪些操作。

1. 内容类型:- 字符串: 只能包含字符(文本)。- 列表: 可以包含任意类型的数据,如数字、字符串、其他列表等。- 元组: 可以包含任意类型的数据,与列表类似。3. 操作:(1)字符串:- 索引和切片操作- 字符串连接和复制- 字符串方法(如 `split()`, `replace()`, `upper()` 等)(2)列表:- 索引和切片操作- 列表添加、删除、修改元素的方法(如 `append()`, `remove()`, `sort()` 等)- 列表方法和函数(3)元组:- 索引和切片操作- 元组函数(如 `count()`, `index()` 等)

2.创建一个列表,其中包含100个零。至少用三种不同的方法来实现。

方法一:
list1=[]
for i in range(100):list1.append(0)
方法二:
list2=[0 for i in range(100)]
方法三:
list3=[0]*100

3.创建100个整数,其值和索引相同,例如,L[5]=5的列表。

list1=[i for i in range(1,101)]

4.基于原整数列表,编写Pyhon代码生成具有相同元素个数的新列表。例如,在新列表中的每个整数,是原始列表中对应元素及其相邻元素的和。例如,若原始列表为listA=[10,20,30,40,50],则新表为listB=[30,60,90,120,90]。

对于listB来说,只有第一个和最后一个元素不一样,其他元素都是listA相邻三个元素之和。
listB=[]
listB.append(list1[0]+list1[1])
for i in range(1,len(list1)-1):listB.append(list1[i-1]+list1[i]+list1[i+1])
listB.append(list1[-2]+list1[-1])
print(list2)

5.对列表L=[1,3,5,7,9]使用分片,创建一个新的列表,没有值3。也就是说L2=[1,5,7,9]。

L2=L[0]+L[2:]
或者
L2=[]
for i in range(len(L)):if L[i]==0:continueL2.append(L[i])

7.生成句子中不同字母的列表。也就是说,如果字母“X”在句子中使用了两次,它应该只在列表中出现一次。列表中没有标点符号。简单起见,考虑标点符号为下列字符:.;?!-

jvzi=input()
fuhao=[".",",",";","?","!","-"]
list1=[]
for i in jvzi:if (i in fuhao)or (i in list1) :continuelist1.append(i)

8.不用if语句创建包含20个偶数的列表
(a)使用循环。
(6)使用列表解析。

(a)
for i in range(0,40,2):list1.append(i)
(b)
list1=[i for i in range(0,40,2)]

14.给定代码:
myList=[‘1’,‘2’,‘3’,‘4’,‘5’]
for z in range(0,len(myList)):
text='".join(myList[z])
text.center(10)
(a)如果在shell中运行此代码,输出什么?
在这里插入图片描述

(b)如果这是一个程序,在shell中运行,输出什么?

没有输出

©为什么得到的输出不同?

在Python shell中输入代码后就会执行,并将给语句的值输出。
但作为一个程序运行,要用print函数才能进行输出

(d)修正程序,使在两种环境中运行结果相同。

将text.center(10)改成print(text.center(10))

15.给定列表项,写一个程序,生成以下形式的列表:[a,b,c,…,z]→ [[z],[y,z],[x,y,z],………,[a,b,…,y,z]。提示:可能会用到分片。

ll=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
lll=[]
for i in range(len(ll)):lll.append(ll[len(ll)-i-1:])
print(lll)

16.可索引和可循环:
(a)举两个可索引类型的例子。
(b)给出两个可循环类型的侧子。
(e)其中一类的成员身份是否意味另一类的成员身份呢?解释原因

(a) 可索引类型的例子:
列表 (list):list[index]
元组 (tuple):tuple[index]
(b) 可循环类型的例子:
列表 (list):for i in list
字符串 (string):for c in string
(c)不一定。
可索引类型和可循环类型并不是完全等同的概念。
可索引类型是指可以通过索引访问其中元素的数据类型。这包括列表、元组、字符串等。
可循环类型是指可以使用 for 循环遍历其中元素的数据类型。这也包括列表、元组、字符串等。
也就是说,虽然列表和元组同时满足可索引和可循环的特性,但并不是所有可索引类型都一定是可循环类型,反之亦然。
例如,字典 (dictionary) 就是一个可循环类型,但并不是可索引类型(至少不能通过整数索引访问)。
所以,其中一类的成员身份并不一定意味着另一类的成员身份。

17.列表和字符串有共同的特点,但也有一些可作用于列表但是不能作用于字符串的操作。请描述它们。

共同特点:
1. 都是可索引的数据类型,可以通过索引访问其中的元素。
2. 都是可迭代的,可以使用 `for` 循环遍历其中的元素。
3. 都支持切片操作,可以通过切片获取其中的一部分元素。不同之处:
1. 列表是可变的,而字符串是不可变的。- 列表中的元素可以被修改、添加或删除。- 字符串中的字符是不可修改的。
2. 一些仅适用于列表的操作:- 追加元素: `list.append(item)`- 插入元素: `list.insert(index, item)`- 删除元素: `list.remove(item)` 或 `del list[index]`- 排序: `list.sort()` 或 `sorted(list)`- 反转: `list.reverse()`- 扩展: `list1.extend(list2)`
这些操作都是针对列表的,不能直接作用于字符串。因为字符串是不可变的,无法对其中的字符进行修改。
相反,字符串有一些专属于自己的方法,如 `str.split()`, `str.join()`, `str.replace()` 等,这些操作在列表上是没有意义的。

18.表达式 sorted([‘7’,‘q’,‘e’,!3’;‘m’,'n’])的结果是什么?并解释原因

['3', '7', 'e', 'm', 'n', 'q']
比较字符时,实际上是比较他们的ASCII值。

19:考虑两个列表A和B,A返回[1,2,3],B返回[1,2,3]。
(a)创建A和B,使AisB返回真
(b)创建A和B,使AisB返回假
在这里插入图片描述

20.strip方法做什么?它有什么限制?

strip() 方法会去除字符串开头和结尾处的空白字符,包括空格、制表符、换行符等。
如果没有指定参数,strip() 默认去除空白字符。
也可以通过传递参数来指定需要去除的字符集。限制:
strip() 方法只能去除字符串两端的指定字符,不会去除中间的字符。
如果字符串中间有多余的空格,strip() 是无法去除的。
strip() 方法不会修改原始字符串,而是返回一个新的字符串。如果需要修改原字符串,需要手动赋值。

21.写一个函数,参数为一个字符串,将字符串转换为字符列表,对列表进行排序,将列表转换回字符串,并返回结果字符串

def sort_string(input_string):  # 将字符串转换为字符列表  char_list = list(input_string)  # 对字符列表进行排序  char_list.sort()  # 将排序后的字符列表转换回字符串  sorted_string = ''.join(char_list)      return sorted_string

22.写一个函数,参数为一个字符串,并返回字符串中的单词列表

def get_words_from_string(input_string):  # 使用 split() 方法将字符串分割成列表  word_list = input_string.split()  return word_list  
  1. sort 与 sorted:
    (a)sort 和sorted 之间的区别是什么?
作用对象:
sort() 是列表的一个方法,只能作用于列表。
sorted() 是一个内置函数,可以作用于任何可迭代对象,如列表、元组、集合等。
修改原对象:
sort() 会直接修改原列表,原列表的顺序会被改变。
sorted() 不会修改原对象,而是返回一个新的有序序列,原对象保持不变。
返回值:
sort() 没有返回值,它只是修改了原列表。
sorted() 返回一个新的有序序列。
总的来说,sort() 适用于需要修改原列表顺序的情况,而 sorted() 则更适用于不想改变原有序列的情况。

b)Python的哪些内置数据类型可以使用两者?

list: 列表是可以使用 sort() 和 sorted() 的内置数据类型。

26.使用for循环编写函数,参数为句子S,并将S中的单词以反序返回。例如,如果S=“What is your request”,应该返回“request your is what"。

def reverse_s(s):s_list=s.split()s_list_reverse=s_list[::-1]ss=""for i in s_list_reverse:ss=ss+i+" "return ss[:-2]

27、阅读下面的代码:
list1=[1,2,99]
list2=list1
list3=list2
list1=list1.remove(1)
print(list3)
(a)显示什么?

[2,99]

(b)怎样才能更改代码,使得项目Iist3是不变的?

将list3=list2
改成
list3=list2.copy()

28.用for 循环替换下面程序中的 while 循环。
S=“I had a cat named amanda when I was little”
count =0
for i in S:
if i == “a”:
count +=1
print count

S="I had a cat named amanda when I was little
count=0
i=0
while i<len(S):if s[i]=="a":count+=1i+=1
print(count)

29、给定一个单词列表L,按如下方式对列表上进行赋值:
L=[‘AIways’,‘look’,‘on’,‘the’,‘bright’,‘side’,‘of’, ‘life.’]
List1=[[i.upper(),i.lower(),len(i)]for i in L]
(a)List1的值是什么?
(b)用列表解析的方式实现使用List1创建一个长度为4的列表。

(a)
[['AIWAYS', 'aiways', 6], ['LOOK', 'look', 4], ['ON', 'on', 2], ['THE', 'the', 3], ['BRIGHT', 'bright', 6], ['SIDE', 'side', 4], ['OF', 'of', 2], ['LIFE.', 'life.', 5]]
(b)长度为4或6的单词
print([i[0] for i in List1 if i[2]==6 or i[2]==4])

30.使用列表解析创建一个表达式,对所输入数字的因数求和。(提示:如果输入6,应该显示12(即1+2+3+6=12))。

print(sum([i for i in range(1,n+1) if n%i==0]))

31.给定一个整数列表L,使用列表解析实现:(a)计算列表L中偶数总和。

even_sum = sum([x for x in L if x % 2 == 0])

(b)计算列表L中奇数总和。

odd_sum = sum([x for x in L if x % 2 != 0])

32、给定列表a=[1,2,3]和b=[1,2,3],如下代码得到什么结果
(a)a==b

True

(b)a is b

Flase

33:给定x=[1,2,3],写Python 代码实现如下目标:
(a)创建列表y,使改变x时也改变y。

y=x

(b)创建列表y,使改变x时不改变y。

y=x.copy()
或
y=x[:]

相关文章:

Python之一些列表的练习题

1.比较和对比字符串、列表和元组。例如&#xff0c;它们可以容纳哪类内容以及在数据结构上可以做哪些操作。 1. 内容类型:- 字符串: 只能包含字符(文本)。- 列表: 可以包含任意类型的数据,如数字、字符串、其他列表等。- 元组: 可以包含任意类型的数据,与列表类似。3. 操作:(1…...

MoFA: 迈向AIOS

再一次向朋友们致以中秋的祝福&#xff01; MoFA (Modular Framework for Agents)是一个独特的模块化AI智能体框架。MoFA以组合&#xff08;Composition)的逻辑和编程&#xff08;Programmable&#xff09;的方法构建AI智能体。开发者通过模版的继承、编程、定制智能体&#xf…...

c语言中define使用方法

在C语言中&#xff0c;#define指令是预处理指令&#xff0c;用于定义宏。其常用格式是&#xff1a; 定义常量&#xff1a; #define 常量名 常量值 例子&#xff1a; #define PI 3.14159 #define MAX_SIZE 100 这里&#xff0c;PI和MAX_SIZE在代码中会被替换为其对应的值。没有…...

尚品汇-秒杀商品定时任务存入缓存、Redis发布订阅实现状态位(五十一)

目录&#xff1a; &#xff08;1&#xff09;秒杀业务分析 &#xff08;2&#xff09;搭建秒杀模块 &#xff08;3&#xff09;秒杀商品导入缓存 &#xff08;4&#xff09;redis发布与订阅实现 &#xff08;1&#xff09;秒杀业务分析 需求分析 所谓“秒杀”&#xff0…...

第十一章 【后端】商品分类管理微服务(11.4)——spring-boot-devtools

11.4 spring-boot-devtools 官网:https://docs.spring.io/spring-boot/reference/using/devtools.html Spring Boot DevTools 是 Spring Boot 提供的一组易于使用的工具,旨在加速开发和测试过程。它通过提供一系列实用的功能,如自动重启、实时属性更新、依赖项的热替换等,…...

MySQL篇(索引)(持续更新迭代)

目录 一、简介 二、有无索引情况 1. 无索引情况 2. 有索引情况 3. 优劣势 三、索引结构 1. 简介 2. 存储引擎对于索引结构的支持情况 3. 为什么InnoDB默认的索引结构是Btree而不是其它树 3.1. 二叉树&#xff08;BinaryTree&#xff09; 3.2. 红黑树&#xff08;RB&a…...

通用接口开放平台设计与实现——(31)API服务线程安全问题确认与修复

背景 在本系列的前面一篇博客评论中&#xff0c;有小伙伴指出&#xff0c;API服务存在线程安全问题&#xff1a; https://blog.csdn.net/seawaving/article/details/122905199#comments_34477405 今天来确认下&#xff0c;线程是否安全&#xff1f;如不安全&#xff0c;如何…...

2011-2022年数字金融与企业ESG表现:效应、机制与“漂绿”检验(内含原始数据+处理代码)

2011-2022年数字金融与企业ESG表现&#xff1a;效应、机制与“漂绿”检验&#xff08;内含原始数据处理代码&#xff09; 1、时间&#xff1a;2011-2022年 2、来源&#xff1a;上市公司年报、华证ESG、北大数字普惠金融 3、指标&#xff1a;年份、股票代码、股票简称、行业名…...

mysql配置相关命令

一、允许所有人访问&#xff1a; -- 1.切换至mysql库 use mysql;-- 2.查看用户表 SELECT Host,User FROM user;-- 3.修改字段 UPDATE user SET Host % WHERE User root;-- 4.刷新权限 flush privileges;二、修改加密方式 -- 1.切换至mysql库 use mysql;-- 2.查看用户表 SELEC…...

【自用软件】IDM下载器 Internet Download Manager v6.42 Build 10

下载IDM&pj安装教程 Internet Download Manager&#xff0c;简称 IDM&#xff0c;是国外的一款优秀下载工具。目前凭借着下载计算的速度优势在外媒网站中均受好评&#xff0c;现在已被多数国人熟知。Internet Download Manager 提升你的下载速度最多达5倍&#xff0c;安排下…...

Kafka集群扩容(新增一台kafka节点)

kafka集群扩容、kafka topic迁移 现有环境 IP组件角色192.168.17.51kafka01broker1192.168.17.52kafka02broker2192.168.17.53kafka03broker3 扩容之后环境 IP组件角色192.168.17.51kafka01broker1192.168.17.52kafka02broker2192.168.17.53kafka03broker3192.168.17.54ka…...

作文笔记15 点面结合

事件中场面写作方法&#xff1a;点面结合&#xff08;对毛主席的描写和三十万群众的描写间插进行&#xff09;。好处是强化描写的层次感&#xff0c;既有整体形象描写&#xff0c;又凸显人物个性特点。 景色描写方法&#xff1a;动态描写&#xff0c;静态描写&#xff0c;动静…...

Spring Boot-国际化(I18N)问题

Spring Boot 国际化&#xff08;I18N&#xff09;问题及其解决方案 1. 引言 随着全球化的推进&#xff0c;软件开发中的国际化&#xff08;I18N&#xff09;需求日益增长。国际化是指通过设计应用程序&#xff0c;使其能够轻松适应不同语言和地区的需求&#xff0c;而无需修改…...

8. 防火墙

8. 防火墙 (1) 防火墙的类型和结构 防火墙的类型和结构可以根据其在网络协议栈中的过滤层次和实现方式进行分类。常见的防火墙类型包括: 包过滤防火墙:工作在网络层(OSI模型的第3层),主要检查IP包头的信息,如源地址、目的地址、端口号等。电路级网关防火墙:工作在会话层…...

C语言循环学习

作为初学者&#xff0c;学习C语言中的循环结构是非常重要的&#xff0c;它们能让你轻松地重复执行代码。在C语言中&#xff0c;常用的循环结构主要有for循环和while循环。我们将从基本概念开始&#xff0c;逐步讲解如何使用这两种循环&#xff0c;并通过示例帮助你理解和练习。…...

职业技能大赛-自动化测试笔记(Unitest)分享-3

前言 UnitTest是Python标准库中的一个模块,用于编写和执行单元测试。它提供了一组断言方法,用于验证代码的输出和状态是否符合预期。通过UnitTest框架,我们可以编写可重复执行的测试用例,并使用命令行工具或IDE轻松运行这些测试。在大多数情况下,UnitTest框架已经包含在Py…...

rocky9.2的lvs的NAT模式下的基本使用的详细示例

文章目录 前言什么是LVS?&#xff08;Linux Virtual Server&#xff09;LVS的组成1. 负载均衡器&#xff08;Load Balancer&#xff09;2. 后端服务器池&#xff08;Real Servers&#xff09;3. IPVS&#xff08;IP Virtual Server&#xff09;4. 调度算法&#xff08;Schedul…...

AI健身之俯卧撑计数和姿态矫正-角度估计

在本项目中&#xff0c;实现了Yolov7-Pose用于人体姿态估计。以下是如何在Windows 11操作系统上设置和运行该项目的详细步骤。 环境准备 首先&#xff0c;确保您的计算机已经安装了Anaconda。Anaconda是一个开源的Python发行版本&#xff0c;它包含了conda、Python以及众多科…...

Java ETL - Apache Beam 简介

基本介绍 Apache Beam是一个用于大数据处理的开源统一编程模型。它允许用户编写一次代码&#xff0c;然后在多个批处理和流处理引擎上运行&#xff0c;如Apache Flink、Apache Spark和Google Cloud Dataflow等。Apache Beam提供了一种简单且高效的方式来实现数据处理管道&…...

使用 Fairseq 进行音频预训练:Train a wav2vec 2.0 base model配置与实现

使用 Fairseq 进行音频预训练:配置与实现 简介 随着深度学习技术的不断发展,音频预训练在语音识别和自然语言处理领域取得了显著进展。Fairseq 是由 Facebook AI Research 开发的开源序列建模工具包,广泛应用于各种自然语言处理任务,包括音频预训练。本文将介绍如何使用 …...

智慧医疗能源事业线深度画像分析(上)

引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

大话软工笔记—需求分析概述

需求分析&#xff0c;就是要对需求调研收集到的资料信息逐个地进行拆分、研究&#xff0c;从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要&#xff0c;后续设计的依据主要来自于需求分析的成果&#xff0c;包括: 项目的目的…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例&#xff1a;使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例&#xff1a;使用OpenAI GPT-3进…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 &#xff08;一&#xff09;多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如&#xff0c;当用户上传一张“蓝色连衣裙”的图片时&#xff0c;接口可自动提取图像中的颜色&#xff08;RGB值&…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块&#xff0c;它提供了一个轻量级的 HTTP 服务器实现&#xff0c;主要用于构建基于 HTTP 的应用程序和服务。 功能介绍&#xff1a; 主要功能 HTTP服务器功能&#xff1a; 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

给网站添加live2d看板娘

给网站添加live2d看板娘 参考文献&#xff1a; stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下&#xff0c;文章也主…...

HybridVLA——让单一LLM同时具备扩散和自回归动作预测能力:训练时既扩散也回归,但推理时则扩散

前言 如上一篇文章《dexcap升级版之DexWild》中的前言部分所说&#xff0c;在叠衣服的过程中&#xff0c;我会带着团队对比各种模型、方法、策略&#xff0c;毕竟针对各个场景始终寻找更优的解决方案&#xff0c;是我个人和我司「七月在线」的职责之一 且个人认为&#xff0c…...

ubuntu22.04有线网络无法连接,图标也没了

今天突然无法有线网络无法连接任何设备&#xff0c;并且图标都没了 错误案例 往上一顿搜索&#xff0c;试了很多博客都不行&#xff0c;比如 Ubuntu22.04右上角网络图标消失 最后解决的办法 下载网卡驱动&#xff0c;重新安装 操作步骤 查看自己网卡的型号 lspci | gre…...

嵌入式学习之系统编程(九)OSI模型、TCP/IP模型、UDP协议网络相关编程(6.3)

目录 一、网络编程--OSI模型 二、网络编程--TCP/IP模型 三、网络接口 四、UDP网络相关编程及主要函数 ​编辑​编辑 UDP的特征 socke函数 bind函数 recvfrom函数&#xff08;接收函数&#xff09; sendto函数&#xff08;发送函数&#xff09; 五、网络编程之 UDP 用…...