2018.1.16学习python第三天02【列表】

python中列表的学习1 python中列表的学习 列表是有序集合,没有固定大小,能够保存任意数量任意类型的 Python 对象,语法为 `[元素1, 元素2, …, 元素n] 利用range创建列表 x = list(range(10)) print(x, type(x)) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] <class ‘list’> x = list(range(1, 11, 2)) print(x, type(x)) [1, 3, 5, 7, 9] <class ‘list’ 阅读详情

一个列表中可以存放不同类型的数据:

 

list1 = ['Google', 'Runoob', 1997, 2000];
#和创建字符串一样,在'='号前面写列表的名称,'='号后面['str',num,num]。
#列表也可以可以切片,和字符串的方法一样[][:][::]。
#切片中[]只有一个参数的填'-1'会返回/输出列表中最后一项。
#切片中[:][:]最后一位参数填'-1'会倒叙将列表中的每一项输出。[::-1]时第一个参数要比第二个参数大。

为列表增加一项:append()、insert()

 

list1=['baidu','huawei','ali'];
list1.append('jd');
# 将'jd'添加到列表list1的尾部。
# append()方法单次只添加单个元素,即使追加的是一个列表,也会当作单个元素添加进去。
# 和 extend() 方法有些不一样
a=[1,2,3]
b=[4,5,6]
a.append(b)
print(a)
# 输出结果↑→ [1,2,3,[4,5,6]]
list1=['baidu','huawei','ali'];
list1.insert(1,'tengxun');#修改()里第一个参数可以设置新字符被添加到的位置,会把原来在哪个位置的项挤到下一个位置。
print(list1);
#将'tengxun'添加到列表list1中下标为1的位置,并将原先在下标1位置的元素和后面的元素往后移一位。
#在()里添加的下标参数超出列表长度范围,便会默认添加到列表的尾部。
#最好不要频繁使用insert()添加‘项’,因为它会把从它添加项所在那个的位置之后的每一项全部往后面挤一位。

删除掉列表中的某一项:del、pop()、remove()

del:删除其中某一个,还可以直接把列表删掉。

 

list1=[1,3,5,7,9,5];
print("没有删除之前:"+str(list1));
del list1[0];#用del删除列表中的第一项。
print("删除之后:"+str(list1));
# 也可以用来删除一个变量。

pop():根据下标删除。有返回值。会将删除的元素返回return。

list1=[1,3,5,7,9,5];
list1.pop(2);
print("pop(2)下标 删除之后:"+str(list1));
list1.pop(2);
print("pop(2)下标 删除之后:"+str(list1));
list1.pop(2);
print("pop(2)下标 删除之后:"+str(list1));
#不写pop()括号里面的下标会默认删除列表中最后一项。
#pop()相当于从列表中拿出某一项,因为它会返回删除的内容。
p=list1.pop(1);#‘1’是下标。
print(p);#会输出删除的内容。

remove():根据()里填的是内容,就去删列表中对应的内容,从左往右删,一次只删一个。没有返回值。

list1=[1,3,5,7,9,5];
list1.remove(5);#删除列表list1中从左往右的第一个5;
print("remove(5) 删除之后:"+str(list1));
list1.remove(5);#再次删除列表list1中从左往右第一个5;
print("remove(5) 删除之后:"+str(list1));
list1.remove(1);
print("remove(1) 删除之后:"+str(list1));
# 不会将删除的元素返回。

extend():将两个列表拼接在一起;用'+'号也可以将两个列表拼接在一起。

list1=[1,3,5,7,9,5]
list2=[2,4,6,8,10]
list1.extend(list2);# 将两个列表拼接在一起,新的字符串中:list1在前,list2在后。
# 上面的结果↑→ # [1,3,5,7,9,5,2,4,6,8,10]
print(list1)
print(list1+list2)  #将 两个列表拼接在一起。
# extend() 方法不能将列表和单个元素做操作。不能将当个元素与列表合并,但是append()函数就可以向列表追加单个元素。
# extend()相当于列表连接列表。

修改列表中的内容:

 

list1=[1,3,5,7,9,5];
list1[0]='11dd';#'='号 重新赋值。
print(list1);
#将列表中的第一项修改为'lldd'

len():查看列表中元素的个数;查看列表的长度。

list1=[1,2,3,4,3,2,1,0];
print(len(list1));

3 in [1,2,3]:查看3是否存在于列表中,返回True或False。
for x in [1,2,3]:  迭代,和遍历差不多。

max():返回列表元素中的最大值,列表中的数据类型需要相同。

a=[1,1,1,2,2,3,3,4,5]
print(max(a))  # 输出a列表中最大的值
print(max(a,key=a.count))  # key是设置以什么去比较最大的,这里是统计a列表中出现次数最多的元素。
# max() 中的key参数还有很多用法,可以自行百度。

min():返回列表元素中的最小值,列表中的数据类型需要相同。

index():通过输入()里的内容来查找列表里所对应()里的内容并返回其下标,如果没找到就会抛异常。

print(list1.index(3));

嵌套列表:

 

list3=[[1,2,3],['a','b','c'],5,6,'d',True];#这是一个嵌套列表。
print(list3[0][1]);#输出list3列表内下标为'0'的子列表中内的下标为'1'的字符。

list():将元组转换成列表。

 

print(list(('1','3',33,ffe'')));
#用()小括号括起来的是元组。

reverse():反向列表中的元素;将列表中的内容从后往前输出,默认是从前往后输出。

sort()和reverse()都会将列表内部的结构改变。

list1=[1,2,3,4,5];
list1,reverse();
print(list1);
#将列表内内容的顺序由从前往后转为从后往前。
#输出:5,4,3,2,1

sort():将列表内容进行排序;()小括号里放的是就照什么样的模式进行排序,可以放一个function,按照你写的function来对列表进行排序。

list1=[1,2,3,4,5,6];
list1.sort();#()里不写函数,默认从小到大排序(升序)。
list1.sort(reverse=True);# 降序排序
lis.sort(key=lambda x:x[1])# 指定key自定义排序

clear():清除列表中的内容。

list1=[1,2,3,4,5,6];
list1.clear();
>>>[]

copy():复制列表;修改拷贝后的副本,原列表不会被修改。

list1=[1,2,3,4,5,6];
list2=list1.copy();
list2[1]='new';
#修改副本list2,原列表list1不会被修改。
list1=[1,2,3,4,5,6];
list2=list1;
list2[1]='new';
#用‘=’号复制的,修改副本list2,原列表list1之中的内容也会被修改,
#等号拷贝相当于将等号前的名重新指向另一个内容,如果指向的是变量名,那么将与变量名使用同一块内存。
list1=[1,2,3,4,5];
list2=list1[:];
list2[1]='new';
#用[:]切片拷贝list1;list2中的内容被修改,list1中的内容不会被修改。
#将[:]复制与用‘=’等号复制但是没有用到切片的复制方式区分开。
#切片copy是把list1的内容拿出来,赋给list2。

eval():将元组、字典、列表类型的字符串转为元组、字典、列表。

nums='1,2,3,4,5';
nums=eval(nums);
print(nums);#默认将字符串转为元组类型;
print(type(nums));#查看nums的数据类型。
nums='[1,2,3,4,5]';
nums=eval(nums);
print(nums);#因为字符串的两边带有[],所以会将此字符串转换成列表类型。
print(type(nums));#查看nums的数据类型。
a='[[1,2],[3,4],[5,6],[7,8],[9,0]]';
l=list(a); #list()会将里面的一切内容作为单个字符按原顺序,以逗号隔开,放在一个列表里;适合转化没有符号分隔的字符串。
v=eval(a); #eval()会根据原先字符串的格式来对转换进行调整。
print(type(l));
print(l);
print(type(v));
print(v);
#看使用list()转换str和使用eval()转换str的区别。
a={'a':'A','b':'B'};
s=str(a);#str(),转为字符串;
print(type(s));
print(s);
#将字典类型转换为字符串类型;
a=eval(s);#eval(),转为字典。
print(type(a));
print(a);
#再将字符串类型转换成元组类型。
a='([1,2],[3,4],[5,6],[7,8],(9,0))';
print(type(a));
b=eval(a);
print(type(b));
print(b);
#因为字符串a里面是()括起来的,所以会将字符串a转换成元组类型。

split():以某个字符来分割一串字符串,并以列表的形式返回结果。

i="1,2,3,4,5".split(',')
print(i)
["1","2","3","4","5"]

 

菜鸟教程网站中的python列表讲解

练习1:创建两个列表,一个存姓名,一个存手机号:(用到循环和列表):

=====通讯录管理系统=====

1、添加姓名和手机号

2、删除姓名

3、修改手机号

4、查询所有用户

5、根据姓名查找手机号

6、退出

===================

 

flag=True;
names=[];
phones=[];
while flag:
    print('=====通讯录管理系统=====');
    print('1、添加i姓名和手机号');
    print('2、删除姓名');
    print('3、修改手机号');
    print('4、查询所有用户');
    print('5、根据姓名查找手机号');
    print('6、退出');
    print('========================');
    i=int(input('请选择:'));
    if i==6:
        flag=False;
    elif i==1:
        names.append(input('请输入姓名:'));
        phones.append(input('请输入手机号:'));
    elif i==4:
        print('姓名:',names,'手机号:',phones);
#剩下没有上面编写的,请自己编写练习。

 

练习2:定义一个列表,让用户动态输入5个值,遍历输出列表的值。

 

nums=[];
for i in range(5):
    nums.append(input());
else:
    print('输入完毕!');
print(nums);

练习3:随机生成6位验证码

import random
# for i in range(1000000):
#     a=random.randint(97,122)
#     a=chr(a)
#     if a not in "abcdefghijklmnopqrstuvwxyz":
#         print(a,ord(a)) # ord()函数,将小写字母与ASCII表中小写字母对应的数字输出。
# for i in "abcdefghijklmnopqrstuvwxyz":
#     print(i,ord(i))
# 生成6位随机数
x=list()
for i in range(6):
    u=random.randint(1,3) # 随机取大小写字母与数字
    if u==1:
        # 大写字母
        v=random.randint(65,90) # 包含65和90,与randrange()不同。
        x.append(chr(v))
    elif u==2:
        # 小写字母
        v=random.randint(97,122) # 包含前一位与后一位参数,与range()不同。
        x.append(chr(v))  # chr()函数,将数字转换为ASCII表中对应的的字符。与ord()相反。
    elif u==3:
        # 数字
        v=random.randint(0,9)
        x.append(v)
x="".join(x)  # 将列表拼接成字符串
print(x)

 

 

 

 

 

Python学习 Day02 列表 列表 变量存储的是一个对象的引用 列表动态分配一个连续的空间,可存储多个不同数据类型的元素 1.列表的地址 # encoding: utf-8 a=10 #变量存储的是一个对象的引用 lst=['hello','world',98] print(id(lst)) print(type(lst)) print(lst) 140084787793864 <type 'list'> ['hello', 'world', 98] sandbox> exited with statu 阅读详情

相关推荐

第16讲:Python多维列表的概念以及应用

当列表中的元素也是一个列表时,就形成了多维列表,多维列表有一维列表、二维列表、三维列表等等,如何判断你的列表是几维列表,主要看列表的元素是不是一个列表,一级一级推理,列表中的元素不是列表称为为一维列表,列表套列表称为二维元素,以此类推。当列表中的元素是一个一维列表,此时就构成了一个二维列表,当列表的元素是二维列表,此时就构成了三维列表,我们也可以把多维列表看做是特殊的一维列表,我们前面创建的列表,列表的元素是字符串数字等等,这就是一维列表。

江晓龙的博客 1万+

Python的列表

序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。 Python有6个序列的内置类型,但最常见的是列表和元组。 序列都可以进行的操作包括索引,切片,加,乘,检查成员。 此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。 列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现...

Taylover的博客 214

保姆级教程:用torch.profiler给你的vLLM推理做个“全身体检”(附Perfetto可视化分析)

本文提供了一份详细的vLLM推理性能分析教程,通过torch.profiler和Perfetto工具链实现从数据采集到可视化分析的全流程。文章涵盖了环境配置、性能数据采集、trace文件解析以及Perfetto可视化分析,帮助开发者优化大模型推理服务的性能,显著降低计算资源消耗。

weixin_29041767的博客 357

python学习(六)常用数据类型之list

类名list 索引: 可以通过索引修改list中元素的值 可迭代: 可以使用for in 语句循环 1 def append(self, p_object): # real signature unknown; restored from __doc__ 2 """ 向列表的末尾添加元素 """ 3 """ L.append(object)...

rodger_snow的博客 375

CIC-IDS数据集特征介绍

###1、简介 通信安全机构(CSE)与加拿大网络安全研究所(CIC)合作项目,该项目对自1998年以来现有的11个数据集的评估表明,大多数数据集(比如经典的KDDCUP99,NSLKDD等)已经过时且不可靠。其中一些数据集缺乏流量多样性和容量,一些数据集没有涵盖各种已知的攻击,而另一些数据集将数据包有效载荷数据匿名化,这不能反映当前的趋势。有些还缺少特征集和元数据。 CIC-IDS-2017数据集包含良性和最新的常见攻击,类似真实世界数据(PCAPs)。 它的数据采集截至2017...

蓝亚之舟的博客 3万+

【CVPR 2025】清华:注意力状态空间模块,Mamba与注意力的超强组合,即插即用!

MambaIRv2提出了一种创新的图像恢复模型,通过引入注意力状态空间模块(ASSM)解决了Mamba模型因果建模限制问题。该模型结合语义引导邻域机制和注意力状态空间方程,实现了非因果建模,有效缓解了长距离衰减问题。实验表明,MambaIRv2在图像超分辨率、JPEG压缩伪影减少和图像去噪等任务中表现优异,参数更少但性能超越现有方法。

qq_43303160的博客 3040

Python 基础知识4 列表操作

# 列表定义 list1 = ['Google', 'Runoob', 1997, 2000] list2 = [1, 2, 3, 4, 5, 6, 7] print("list1[0]: ", list1[0]) print("list2[1:5]: ", list2[1:5]) # 修改列表元素值 list1[0] = 2000 print("list1[0]: ", list1[0]...

qq_36071362的博客 481

使用FloodRisk2插件进行洪水风险评估

入汛以来,长江流域持续的强降雨使得沿岸多地成为洪水风险极高地区,抗洪、抢险、救灾继新冠病毒之后成为又一个攻坚阵地。如何科学地评估洪水风险,是快速决策的关键。 实际生活中,根据风险是否可控,一般将洪水风险大致分为两类:一类是通过数据分析可以得出其发生的可能性和后果,如强降雨引发的区域性洪水、水库/大坝溃决洪水等。这类洪水可以通过有关资料分析和设定一定条件计算得到可能的损失后果,也就是说,风险可以预判。另一类洪水风险基本是未知的,如滑坡堵塞河道形成堰塞湖引发的洪水,无法预知事件发生的地点和规模,具体的洪水风险无

QGISClass的博客 2879

python基础——列表

资料来源:https://www.runoob.com/python3/python3-list.html 列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。 列表的数据项不需要具有相同的类型 创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。 与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。 list1 = ['Google', 'Runo...

z2431435的博客 513

手把手教你学Simulink--进阶电机控制场景实例:基于Simulink的直流电机双闭环调速系统抗负载扰动仿真

摘要:本文基于Simulink平台构建直流电机双闭环调速系统,重点研究其在工业传送带场景下的抗负载扰动性能。系统采用转速外环(稳速)和电流内环(限流)的嵌套结构,通过工程法整定PI参数,实现了转速跌落<10%、恢复时间<0.5s的优异抗扰性能。仿真结果表明,相比单闭环系统,双闭环控制使转速跌落率降低47%,恢复时间缩短75%。文中详细介绍了数学模型建立、Simulink模块实现及参数优化方法,并提供了完整代码和模型文件,为电机控制系统设计提供实用参考。

MHD0815的博客 179

【智能座舱】- 智能座舱研究报告合集

智能座舱研究报告合集

零点壹客的博客 1305

python学习笔记(自用)第三天

python自学笔记

weixin_67939414的博客 791

【OpenCV】第二十三章: 图像特征检测之SURF、FAST、BRIEF、OBR算法

4、由于在检测特征点时是需要对图像中所有的像素点进行检测,然而图像中的绝大多数点都不是特征点,如果对每个像素点都进行上述的检测过程,那显然是种浪费,所以FAST采用一种进行非特征点判别的方法:首先对候选点的周围90度的点(1,9,5,13)四个点进行测试,而且是先测试1和9,如果它们两个符合阈值要求再测试5和13。继SIFT和SURF后,大家在特征点检测的速度上又进行了很多的改进尝试,但速度的提升效果都不是非常明显,直到FAST算法诞生,特征点检测的速度才有了一个质的飞跃。无法计算描述符的特征点将被删除。

因为热爱所以坚持 2158

Python第三天(从入门到精通)

Python学习的第三天,关注博主不迷路,零基础学习Python

l5261_1625的博客 1264

PR工具timing report中setup time的计算过程

然后去pr工具里报告report_delay_calculation/reportDelayCalculation -from related_pin -to constraint_pin。这里constraint pin就是D pin (D0 D1 D2 D3),related pin就是 CK pin。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 455

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

python——列表与元组的学习

Python 列表与元组,让我们更加了解python。

2401_87975790的博客 1600

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

python学习笔记02(数字列表,元组,遍历列表)

文章目录1.操作列表1.1遍历整个列表1.2避免错误2.创建数字列表2.1使用函数range()2.2使用range()创建数字列表2.3对数字列表进行简单统计工作2.4列表解析2.5复制列表3.元组3.1定义元组3.2遍历元组中的所有值nums=(1,5,8) for num in nums: print(num) 1.操作列表 1.1遍历整个列表 names=['tom','jack'...

数据攻城狮的博客 756

WINCC7.3破解文件

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

python学习-16 列表list

list 1.由[ ]括住,中括号内各元素由逗号隔开,各元素可以是数字,字符串,列表,布尔值等等。 例如: li = [521,"love",["john","boy",12],True]print(li) ps:列表是可以嵌套的 2.取值 -索引取值: li = [123,"love",['a',132,'abc'],"我爱你",True] print(li[3]) ...

weixin_30900589的博客 125

python里的列表切片【None,1】【1,None】

众所周知,python里没有数组,有的是类似于c语言的列表 **列表切片,**最简单的理解就是,取数组中的某一段数据 接下来我们来看一下维数的理解,然后结合代码深入了解一下 首先来看一下简单的列表切片 import numpy as np a=np.array([[11,12,13,14,15,16,17,18,19], [21,22,23,24,25,26,27,28,29], [31,32,33,34,35,36,37,38,39],

mine-Programmer 2427

Python 学习中,什么是列表,如何操作列表?

在Python中,列表(List)是一种内置的数据结构,用于存储一系列有序的元素。列表中的元素可以是任意类型,比如整数、字符串、浮点数,甚至是另一个列表。列表是可变的(mutable),这意味着可以在创建列表后修改它。

Itmastergo的博客 1338

chatgpt赋能python:用Python产生1到10的列表

本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。🧡AI职场汇报智能办公文案写作效率提升教程 🧡专注于AI+职场+办公方向。下图是课程的整体大纲下图是AI职场汇报智能办公文案写作效率提升教程中用到的ai工具。

vacvefito的博客 1980

python将元组转换为列表_RF:将元组列表转换为列表列表

我从DB获取数据并得到了这个元组。我正在使用下面的代码将元组转换为list.but输出即将成为索引。喜欢

weixin_39732316的博客 672

Python之列表生成式

1.Python之生成列表 要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],我们可以用range(1, 11): &gt;&gt;&gt; range(1, 11) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 但如果要生成[1x1, 2x2, 3x3, ..., 10x10]怎么做?方法一是循环: &gt;&gt;&gt; L = [...

Jodie_Rao的博客 7217

python入门02_列表和元组

其实学习语言就像是学习开车一样。 只坐在副驾驶看着驾驶员开车,顶多半小时就知道怎么开了——油门,刹车拐弯……看起来so easy! 但这也仅限于** “知道” “看起来” “觉得”**。别看有的人在副驾驶上指点的可明白了,而一旦坐到了驾驶座上之后,就像个鹌鹑一样畏畏缩缩了(反正我学完开车就这样……!!!) 黑脸.jpg 最后还是一直练了几个月才敢稳健上路…… 学习编程也是这样,光看书不行,必须要上手练! 下面开始知识总结: 一、序列 1、列表、字符串、元组都属于序列,其中列表是可变的,而元组和字符串不可变。

AMWICD的博客 333

python读取双重列表数据_Python编程16:双重列表以及在列表中查找列表

#少儿编程#前面我们已经介绍过列表的增删改、排序等一些常规操作。查找列表数据也是一个相当常见的需求,所以Python通过提供内置的for循环可以非常方便地做到这一点。比如小朋友们之前做过的一个练习,依次列出列表中的数据,见图1:但如果我们的列表里还包含列表呢?如图2:图2中红色框起来的就是列表movies里的内列表,里面是每部动画片的主要人物。使用for循环只打印列表的各个数据项,嵌套在列表中的内...

weixin_39620684的博客 1756
上一篇: 2018.1.16学习python第三天01【循环while、for】
下一篇: 2018.1.16学习python第三天03【元组】
whatthinking
博客等级 码龄9年 133粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值