python(day013——列表1)

使用moveit!控制真实机械臂(5)——编写真实机械臂节点中的action服务程序 上一篇文章中,我们简要介绍了ROS中action的基本知识,为了控制真实机械臂,我们已经修改了moveit配置文件,使得moveti启动后具备一个control_msgs::FollowJointTrajectoryAction类型的action客户端,接下来,我们完成该类型action的另一半,编写C++程序来实现action的服务端。由于底层机器人控制程序一般差别都很大,这里展示的只是编程要点... 阅读详情

 

序列:字符串、元组、列表。可以使用切片、顺序存储、使用坐标。

1.列表

>>> a=list(range(10))
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a[5:8]
[5, 6, 7]
>>>
>>>
>>>
>>> a[1::2]
[1, 3, 5, 7, 9]
>>> a[::-1]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>> a[::-2]
[9, 7, 5, 3, 1]
>>> a[8::-2]
[8, 6, 4, 2, 0]
>>> a[-1:-4:-2]
[9, 7]

#切片可以越界,坐标不可以
>>> a[90:100]
[]

练习:将奇数坐标值累加

a=[1,3,5,6,3,2,4,5,2,2,5,8,4,2,1,4,8,9]
print(a[1::2])
print(sum(a[1::2]))

#方法二
result=0
for i in range(1,len(a),2):
    print(i)
    result+=a[i]

print(result)

*list删除

>>> a=[1,2,3,4,5,6,7,8,9]
>>> a.remove(1)  #根据内容删除
>>> a
[2, 3, 4, 5, 6, 7, 8, 9]
>>> del a[1:4]  #根据位置删除,可以用切片
>>> a
[2, 6, 7, 8, 9]

练习:生成一个新的list,只保留每个单词的首尾字母。

word_list=["hello","world","good","morning"]
new_word_list=[]
for i in word_list:
    #new_word_list.append(i[0]+i[-1])
    new_word_list.append(i[0::len(i)-1])

print(new_word_list)
>>> word_list=["hello","world","good","morning"]
>>> "".join(word_list)
'helloworldgoodmorning'
>>> a=list(range(0,10))
>>> "".join(a)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: sequence item 0: expected str instance, int found
>>> "".join(map(str,a))
'0123456789'

*列表运算

>>> a
[1, 2, 3, 4]
>>> b=a+[2,3]
>>> b
[1, 2, 3, 4, 2, 3]
>>> c=a*4
>>> c
[1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]
>>> 5 in a
False
>>> 4 in a
True

>>> max(c)
4
>>> min(c)
1

练习:三个数,找最大的

l=[1,2,3]
a,b,c=l[0],l[1],l[2]
max=l[0]

if a>b:
    max=a
else:
    max=b

if max<c:
    max=c
l.remove(max)
if l[0]>l[1]:
    second=l[0]
    last=l[1]
else:
    second=l[1]
    last=l[0]

print(max,second,last)

#方法2:
l=[1,2,3]
a,b,c=l[0],l[1],l[2]
if a>b and a>c:
    if b>c:
        print(a,b,c)
    else:
        print(a,c,b)
elif a>b and a<c:
    print(c,a,b)
elif a<b and a<c:
    if b<c:
        print(c,b,a)
    else:
        print(b,c,a)
else:
    print(b,a,c)

*操作符函数operator

*列表操作函数

>>> a
['1', '2', '3']
>>> a.append(1)
>>> a
['1', '2', '3', 1]
>>> a.insert(2,100)
>>> a
['1', '2', 100, '3', 1]
>>> b=["a","b"]
>>> a.append(b)
>>> a
['1', '2', 100, '3', 1, ['a', 'b']]
>>> a.extend(b)
>>> a
['1', '2', 100, '3', 1, ['a', 'b'], 'a', 'b']
>>> a.reverse()  #原地反转,不具备排序功能
>>> a
['b', 'a', ['a', 'b'], 1, '3', 100, '2', '1']
>>> a.pop()
'1'
>>> a
['b', 'a', ['a', 'b'], 1, '3', 100, '2']
>>> a.index(1)
3
>>> a=[1,1,2,3,3,3]
>>> a.count(1)
2
>>> a=[1,5,6,8,2,3]
>>> a.sort()  #原地排序,返回None
>>> a
[1, 2, 3, 5, 6, 8]
>>> a=[1,5,6,8,2,3]
>>> sorted(a)  #返回排序后序列
[1, 2, 3, 5, 6, 8]
>>> a
[1, 5, 6, 8, 2, 3]

练习:写一个count函数,统计某个值在列表中出现的次数并返回

def count(l,element):
    """练习:写一个count函数,统计某个值在列表中出现的次数并返回"""
    if not isinstance(l,(str,list,tuple,dict)):
        return 0
    result=0
    for i in l:
        if i==element:
            result+=1
    return result

a=[1,2,3,4,5,6,6,6]

print(count(a,6))

*sort函数

>>> help(list.sort)
Help on method_descriptor:

sort(self, /, *, key=None, reverse=False)
    Stable sort *IN PLACE*.

#对原序列进行排序,也就是直接在原序列上操作,没有返回值
#key:也是一个函数,默认值为None
#reverse:表示是否逆序,默认为False。如设置True,表示逆序
def func(n):
    return n%10
a=[100,33,85,75,91,52]
a.sort(key=func)  #按照个位数字进行排序
print(a)

#结果:
[100, 91, 52, 33, 85, 75]

#按照序列的长度倒序排序
list1 = [(1,5,3),(1,3,6,3),(1,1,2,4,5,6),(1,9)]
def L(tup) :
	return len(tup)
list1.sort(key = L,reverse = True)
print (list1)


#用最后一个元素比较大小,倒排
list1 = [(1,5,3),(1,3,6,3),(1,1,2,4,5,6),(1,9)]
def L(tup) :
	return tup[-1]
list1.sort(key = L,reverse = True)
print (list1)

练习:按照单词的长度排序

a=["teachers","hello","windows","i"]
def lens(n):
    return len(n)
a.sort(key=lens)
print(a)

#结果:
#['i', 'hello', 'windows', 'teachers']

练习:按照小写字母顺序排序

a=["teachers","B","am","hello","Windows","i"]
a.sort(key=lambda x:x.lower())
print(a)

#结果:
#['am', 'B', 'hello', 'i', 'teachers', 'Windows']

*列表复制:

  1. 引用复制:内存地址相同,导致修改任何一个list,另一个list也会随之改变  #list1=list2
  2. 非引用复制: 非引用list,它们的内存地址不一样,所以修改任何一个list都不会影响另一个list。 #list1=list2[:]

*推导列表

>>> [i*10+n for i in range(1,10)  for n in range(0,10)]
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
 98, 99]

#二维矩阵的转置
>>> a=[[1,2,3],[4,5,6],[7,8,9],[10,11,12]]
>>> print ([ [j[i] for j in a] for i in range(3)])
[[1, 4, 7, 10], [2, 5, 8, 11], [3, 6, 9, 12]]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

华为的C语言编程规范.pdf 华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。 立即下载

相关推荐

Zabbix 简介、优缺点、基础原理

(8条消息) Zabbix 的基础概念、原理和架构_Lee木木的博客-优快云博客_zabbix架构类型Zabbix 的基础概念、原理和架构_Lee木木的博客-优快云博客_zabbix架构类型 --------------------------------------------------------------------------------------------------------------------------- 一、Zabbix 简介 Zabbix是由A...

weixin_50196615的博客 2037

Day013 Python 数据类型之列表(List)

就像最常用的英文句子可能是Nice to meet you~ 对于Python中最常用的数据结构就是列表。 序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。 创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示: list1 = ['physics', 'chemistry', 1997, 2000] 访问列表中的值 使用下标索引来访问列表中的值,同样你也可以使用方括号的形式..

xinghuowuzhao的博客 206

求一个点到任意两个点所在直线距离 C#代码公式

求点C(X0,Y0) 到点A(x1,y1)和点B(x2,y2)所在直线的距离 1.已知任意两个点,求这两个点所在直线 已知点A(x1,y1),点B(x2,y2) 设直线上另外任意一个点为(x,y) 那么 (x-x1)/(y-y1) = (x2-x1)/(y2-y1); 整理后得方程: (y2-y1)x + (x1-x2)y + (y1-...

qq_29434987的博客 4492

013:Python列表和元组的应用

案例1:成绩表和平均分统计 说明:录入5个学生3门课程的考试成绩,计算每个学生的平均分和每门课的平均分。 """ 录入5个学生3门课程的考试成绩 计算每个学生的平均分和每门课的平均分 """ names = ['关羽', '张飞', '赵云', '马超', '黄忠'] courses = ['语文', '数学', '英语'] # 用生成式创建嵌套的列表保存5个学生3门课程的成绩 scores = [[0] * len(courses) for _ in range(len(names))] # 录

JY631591678的博客 1435

在 SAP HANA 与 HANA Cloud 中,用 SQL DDL 创建数据库视图:从设计时工件到运行时对象的全链路实践

本文介绍了在SAP HANA中通过HDI容器使用DDL定义视图的方法。主要内容包括:1)采用.hdbview设计时工件存储视图定义,构建时自动转换为运行时视图,实现版本控制和权限隔离;2)开发前需准备HDI容器、MTA项目及配置.hdiconfig文件;3)详细说明.hdbview语法结构,重点讲解WITH READ ONLY和WITH STRUCTURED PRIVILEGE CHECK的使用场景;4)提供了从创建文件到构建验证的完整流程示例;5)强调跨容器访问时需通过.hdbgrants为#OO用户授予

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 275

使用R语言获取data.frame中指定列的数据

这里以"df"为例,包含三列数据:“列1”、“列2"和"列3”。通过以上代码,我们成功获取了"列1"和"列3"的数据,并将它们分别存储在了变量"column1"和"column3"中。假设我们有一个名为"df"的data.frame,其中包含了多个列,我们想要提取其中的某一列。符号,我们可以从data.frame中提取出"列2"的数据,并将其赋值给变量"column2"。符号,我们可以轻松提取出data.frame中特定列的数据,并将其存储在变量中供进一步的分析和处理使用。假设我们要获取"列2"的数据。

DevRevolt的博客 2321

day 013总结

迭代器 可迭代对象 有__iter--()方法的对象就是可迭代对象,除了数字类型之外都是可迭代对象。 迭代器对象 具有__iter__()和__next__()方法的叫迭代器对象,只有文件是迭代器对象 迭代器对象提供了不依赖索引取值的手段 for循环原理 for循环本质就是一个while循环,只不过是一个可控的while循环 lt = [1,2,3] for i in lt: # 可...

aimang0159的博客 166

芒果YOLO11改进44:主干Backbone篇之MobileViT::结合最新 ICLR2022 顶会|轻量通用的MobileViT结构(一)Transformer,轻量级、通用且移动友好的视觉转换

MobileViT::结合最新 ICLR2022 顶会|轻量通用的MobileViT结构(一)Transformer,轻量级、通用且移动友好的视觉转换

包括YOLOv5、YOLOv7、YOLOv8等模型改进 371

Python学习day013

网课视频学习 ******************************************************************** 01insert() extend() append() member = ["ss","eee"] member.insert(1,"sssd") #在索引值1插入一个字符"sssd" #(列表索引值c从0开始) print(member,len(member)) ['ss', 'sssd', 'eee'] 3 member = ["ss","eee"

qq_54670701的博客 124

在MATLAB中将C语言代码转化为可执行的mexw64文件

这样,您可以将高效的C语言算法集成到MATLAB环境中,以便更好地利用MATLAB的功能和特性。请记住,在使用mex转换C语言代码之前,您需要正确编写和测试C语言代码,并确保它与MATLAB的mex接口兼容。MATLAB是一种功能强大的数值计算软件,它提供了一个机制,可以将C语言代码转化为MATLAB可执行的mexw64文件。在上述命令中,"-output"选项指定生成的mex文件的名称,"myfunction"是您选择的名称,"myfunction.c"是要编译的C语言源文件。步骤1:编写C语言代码。

CodeRoarX的博客 1427

Open3D 球旋转算法(BPA)三维建模【2026最新版】

球旋转算法,博客长期更新,本文最新更新时间为:2026年4月11日。

点云侠的博客 37万+

入门学习-Python-小甲鱼学习资料-Day013-元组:戴上了枷锁的列表

根据视频自己练习 : 课后练习题 请用一句话描述什么是列表?再用一句话描述什么是元组? 列表:一个大仓库,你可以随时往里边添加和删除任何东西。 元组:封闭的列表,一旦定义,就不可改变(不能添加、删除或修改)。 什么情况下你需要使用元组而不是列表? 当我们希望内容不被轻易改写的时候,我们使用元组(把权力关进牢笼)。 当我们需要频繁修改数据,我们使用列表。 当元组和列表掉下水,你会救...

seven1levin的博客 213

SQL注入详解

SQL注入(SQL Injection)是一种常见的Web安全漏洞,主要形成的原因是在数据交互中,前端的数据传入到后台处理时,没有做严格的判断,导致其传入的“数据”拼接到SQL语句中后,被当作SQL语句的一部分执行。 从而导致数据库受损(被脱库、被删除、甚至整个服务器权限陷)。 即:注入产生的原因是后台服务器接收相关参数未经过滤直接带入数据库查询...

渗透之路,攻防之间皆学问 26万+

python学习笔记day4:列表和元祖及其操作

列表操作 1.1列表增加: append:整体插入 extend:迭代插入(只迭代一级) li = ['Jerry','Tony','女神','Alex'] li.append('阳关') # 整体插入 li.extend('夜晚') # 迭代插入 1.2添加示例: bl=[] while 1 : add = input('请输入要添加的值(q退出):') if add ==...

qq_25677123的博客 298

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Day8零基础入门python第013讲课后测试题及答案:元祖:戴上了枷锁的列表

0. 请用一句话描述什么是列表?再用一句话描述什么是元组? 列表:一个大仓库,你可以随时往里边添加和删除任何东西。 元组:封闭的列表,一旦定义,就不可改变(不能添加、删除或修改)。 1. 什么情况下你需要使用元组而不是列表? 当我们希望内容不被轻易改写的时候,我们使用元组(把权力关进牢笼)。 当我们需要频繁修改数据,我们使用列表。 2. 当元组和列表掉下水,你会救谁? 如果是我, 我会救列...

qq_38016547的博客 285

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

python学习 day013打卡 内置函数

本节主要内容: 内置函数: 内置函数就是python给你提供的.拿来直接用的函数,比如print,input等等.截止到python版本3.6.2 python一共提供了68个内置函数.他们就是python 直接提供给我们的.有一些我们已经用过了.有一些还没有用过.还有一些还没有用过.还有一些需要学完了面向对象才能继续学习的.今天我们就认识 一下python的内置函数. https://...

weixin_30710457的博客 337

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

day01 Python基础

工程实训day01 一 Python3.6、Pycharm安装 Python3.6安装:https://www.python.org/官网下载相应版本,一键安装即可,注意勾选add path; Pycharm:一款强大的IDE,官网下载地址:http://www.jetbrains.com/pycharm/download/#section=windows,官网下载速度较慢,建议网...

weixin_30244889的博客 111

力扣刷题day013——三数之和

然后我们看题目是要和为0的整数数组,那么肯定必须要有整数和负数共同存在,或者全是0这种情况。于是我们就想到对数组进行排序,这样我们就可以根据数所在的位置来判断数的大小,然后可以使用一个外层循环。# 如果当前数字大于0,则由于数组已排序,不可能再找到三个数的和为0。L = i + 1 # 左指针,初始化为当前数字后面的位置。R -= 1 # 如果和大于0,移动右指针。L += 1 # 如果和小于0,移动左指针。R = n - 1 # 右指针,初始化为数组末尾。大,不可能再组成和为0的三元组。

2301_79843391的博客 787

day013内置函数一

一、内置函数一 [内置函数思维导图链接] (https://www.processon.com/view/link/5bdc5328e4b0844e0bc6c846) 内置函数就是python提供的,拿来直接用的,如print,input等等 1.作用域相关的 locals() 返回当前作用域中的名字 globals() 返回全局作用域中的名字 2.迭代器...

weixin_30535843的博客 1738

python算法-查询区间&经典二分查找问题--Day013

给定一个包含若干个区间的List数组,长度是1000,如[500,1500],[2100,3100]。给定一个number,判断number是否在这些区间内,返回True或False示例:输入List=[[100,1100],[1000,2000],[5500,6500]]和number=6000,输出True,因为6000在区间[5500,6500]输入List=[[100,1100],[2000,3000]]和number=3500,输出False,因为3500不在List的任何一个区间中。

weixin_47970750的博客 752

day013 内置函数

查看内置属性dir() print(dir()) # 打印dir的内置属性 print(dir([])) # 打印列表的内置属性 迭代器生成器相关range,next,iter range() # 自动生成一个列表 a=iter('asd') # 把迭代对象转换成迭代器 print(next(a)) print(next(a)) # 用next把迭代器里面的内容一个一个取出来 ...

weixin_34318956的博客 80

python学习之老男孩python全栈第九期_day013知识点总结

# l = [1,2,3]# 索引# 循环 for # list # dic # str # set # tuple # f = open() # range() # enumerate'''print(dir([])) # 告诉我列表的所有方法print(dir({})) # 告诉我字典的所有方法print(dir('')) ...

weixin_34238642的博客 69

DAY 013--set(增、删、改、查、关系)

set 1、集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成一个集合,就自动去重了 关系测试,测试两组数据之间的交集、差集和并集等关系 2、集合中的元素有三个特征: 1. 确定性(元素必须可ha...

agan199003的博客 125

【Python 】25 个有用的 Python 代码片段来帮助你的日常工作

引言 Python 是一种通用的高级编程语言。用它可以做许多事,比如开发桌面 GUI 应用程序、网站和 Web 应用程序等。 并且,通过处理常见的编程任务,Python 能让开发者专注应用程序的核心功能。此外,Python 语言的简单语法规则进一步简化了代码库的可读性和应用程序的可维护性。 与其他编程语言相比,Python 的优势在于: 与主要平台和操作系统兼容; 有许多开源框架和工具; 代码...

超逸の学习技术博客 1036

Python学习--day 03

Python--day 03012.第一个python程序013.介绍命名规则014.变量 012.第一个python程序 013.介绍命名规则 014.变量

qinshimingyue27的博客 156

python学习笔记013——模块

1 模块module 1.1 模块是什么 模块是包含一系列的变量,函数,类等程序组 模块通常是一个文件,以.py结尾 1.2 模块的作用 1. 让一些相关的函数,变量,类等有逻辑的组织在一起,使逻辑更加清晰, 2. 模块中的变量,函数和类等可提供给其他模块或程序使用 1.3 模块的分类 1.内置模块(builtins),在解释器的内部,可以直接使用 2.标准库模块,随python...

weixin_33951761的博客 234
上一篇: python(day012——字符串1)
下一篇: python(day014——字符串2)
王总总
博客等级 码龄8年 2粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值