博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python中的列表list
阅读量:5213 次
发布时间:2019-06-14

本文共 3225 字,大约阅读时间需要 10 分钟。

python中的list被称为列表、数组,list内部存储的数据时有序的,常常通过下标/角标/索引/编号查找list的元素

1.定义一个list

namelist = ['xiaoming','xiaohong','xiaoyue']

2.list的类型

print(type(namelist))   <<<   

3.list增加元素

namelist.append('xiaowang')#list添加信息,append在列表的末尾增加元素namelist.insert(0,'xiaowang')#list在指定的位置添加信息list.insert(index,value)

4.list删除元素

namelist.pop(2)#删除指定位置的元素namelist.remove('xiaoyue')#删除指定的值del namelist[2]#del 也是删除指定位置的,利用函数删除

5.修改元素

namelist[1] = 'xiaomi'#修改元素,直接赋值,通过编号

6.查元素

print(namelist[1])#取列表里面的第二个元素print(namelist[-1])#取列表里面的最后一个元素

7.list方法

namelist.clear()#清空整个listnamelist.count('xiaowang')#返回这个元素在这个list中出现的次数namelist.index('xiaowang')#返回这个元素第一次出现的下标,如果不存在这个元素会报错namelist.reverse()#反转,没有任何的返回值,将namelist内容反转  print(namelist)  #>>>['xiaoyue', 'xiaohong', 'xiaoming'] print(len(listinlist))#查看list的元素个数

8.拼接两个list

userlist=['Tony','Tim']namelist.extend(userlist)#将userlist里面的值加入到namelist中,插入到namelist的后面,namelist值改变了alllist = namelist+userlist#两个列表相加,也是合并到一起的意思,两个list都没有改变,重新赋值给alllist

9.list内部排序(此时的所有元素必须为数字,整型/浮点)

numlist = [1,3,9,2,34]numlist.sort()#排序,没有任何的返回值,排序默认升序 <<< [1,2,3,9,34]numlist.sort(reverse=True)#排序变为降序  <<<  [34,9,3,2,1]

10.多维数组

#判断几维数组,就看有几个list层list1 = [1,2,3]#一维数组list2 = [21,2,[4,'4']]#二维数组listinlist=[[1,2,3,4,5],['dd','ff','gg','ss',['aa','bb']],33]#三维数组#多维数组操作:listinlist[1][2]='性别'  >>> [[1,2,3,4,5],['dd','ff','性别','ss',['aa','bb']],33] listinlist[1][4].append('cc')   >>>   [[1,2,3,4,5],['dd','ff','性别','ss',['aa','bb','cc']],33]

11.list循环两种方式

python3中range() 函数可创建一个整数序列对象,一般用在 for 循环中。<<<   
range(start,stop[,step]) >>> range(0,5,1)从0开始,截止到4不包括5,步长为1 将range转换为lis >>> list(range(0,10,2)) >>> [0,2,4,6,8]
for name in namelist:#直接循环list,name为每次循环中namelist的元素值     print(name) for i in range(len(namelist)):#通过角标获取元素值     print(namelist[i])

12.string to list

import stringstrus = ['11','22','rere','ggf','wew']nums=[]1.for i in string.digits:#1.for循环     nums.append(int(i))   >>>  [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]2.nums = list(string.digits)#2.强制类型转换   >>> ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']

13.list循环实例:

第一个: a=[1,3,4,3,7,7,5]for i in a:    if i%2!=0:        a.remove(i)#删除只能删掉第一个出现的i,后面的i不能被删除print(a)#执行结果是[4,3,7,5],第一次是奇数删除,列表变为[3,4,3,7,7,5],第二次循环呢从下标1开始,此时3变成了下标0,所以3被打印出来,以此类推第一次   [1,3,4,3,7,7,5]      下标0,value为1,删除第二次   [3,4,3,7,7,5]        下标1,value为4,保留第三次   [3,4,3,7,7,5]        下标2,value为3,删除第一个3第四次   [4,3,7,7,5]          下标3,value为7,删除第一个7第五次   [4,3,7,5]            下标4,超过数组下标最大值,跳出for循环结果为   [4,3,7,5] 第二个:a=[1,3,4,3,7,7,5]b=a#list赋值给的是内存地址,此时a和b存储的是一个内存地址,指向一个空间,所以循环a或者b都一样for i in b:    if i%2!=0:        a.remove(i)print(id(a))print(id(b))#a和b的内存地址是一样的,因为b=a,定义a的时候,a里面存的是内存地址,内存地址指向的是一个存储数据的内存print(a)#执行结果为[4,3,7,5] 第三个:a=[1,3,4,3,7,7,5]b=a[:]#取出a中的所有元素给b,并不是内存地址,此时b被重新分配一个内存空间,a和b所存储的内存地址不同,此时循环b删除a,b永远都是完整的bfor i in b:    if i%2!=0:        a.remove(i)print(id(a))print(id(b))#a和b的内存地址是不一样的

14.例子

username = 'xiaohong'namelist = ['xiaoming','xiaohong','xiaoyue']if namelist.count(username)>0:#查找username在namelist中出现的次数,如果大于0代表存在    print('user is exist')if username in namelist:#用in也能进行判断,判断用户是否存在    print('user is exist')if not username in namelist:#用户不存在,条件判断前面加一个not    print('user is not exist')

转载于:https://www.cnblogs.com/xiaoneng/p/9198261.html

你可能感兴趣的文章
Python-Mac 安装 PyQt4
查看>>
P2571 [SCOI2010]传送带
查看>>
哈希表1
查看>>
用Data Url (data:image/jpg;base64,)将小图片生成数据流形式
查看>>
实验2-2
查看>>
C#初识
查看>>
String,StringBuffer与StringBuilder的区别?? .
查看>>
JavaScript(三) 数据类型
查看>>
移动端rem布局屏幕适配插件(放js中便可使用)
查看>>
Docker
查看>>
bzoj2259 [Oibh]新型计算机
查看>>
对位与字节的深度认识
查看>>
C++编程基础二 16-习题4
查看>>
MongoDB遇到的疑似数据丢失的问题。不要用InsertMany!
查看>>
服务器被疑似挖矿程序植入107.174.47.156,发现以及解决过程(建议所有使用sonatype/nexus3镜像的用户清查一下)...
查看>>
类型“XXX”的控件“XXXX”必须放在具有 runat=server 的窗体标记内。
查看>>
JQuery 学习
查看>>
session token两种登陆方式
查看>>
C# ArrayList
查看>>
IntelliJ IDEA 12集成Tomcat 运行Web项目
查看>>