列表操作

列表时用方括号括起来的一组元素值,是可变变量,可通过下表取值,也可以通过下表来修改值,列表中的元素是有序的,可以是不同的基本数据类型,如:

names=[1, 2, 3, “abc”, “def”]

列表取值时,下标也是从0开始,最大下标是元素个数减1,即len(names)-1

列表操作的常用方法:

增:

names.append('zhaocunlei')            #从末尾追加元素

names.insert(0,'yinwenqiao')          #指定位置添加元素

删:

names.pop()  #删除列表末尾元素,删谁也把它的值返回了,可用变量接收、用print查看

names.pop(2) #删除指定位置的元素,传参为列表元素下标

names.remove('yinwenqiao')  #删除指定值,传参是列表的一个元素值,不能空参

#该方法不返回被删除的元素值,用print查看返回为None

# print('remove 方法的返回值',names.remove('yinwenqiao'))

# del names[0]  #使用del关键字删除指定元素

# names.clear()  #清空列表

查:

print(names.count('hsdfsdf'))           #查找值在list里面的次数

print(names.index('yinwenqiao'))

#返回查找元素的下标,如果有多个话返回第一个的,如果没有的话就会报错

print(names.index('yinwenqiao',3,4))  #后面可以加上查找开始位置和结束位置

print('zhangyizhou' in names) #用in来判断一个元素是否在list里面,返回布尔值

print(names[-3])                #下标是-1的话,代表最后一个元素

改:

stus = ['yangwb','yangwn','yanghj']

print('加起来的',stus+names)         #两个列表合并,并返回新列表可用变量接收,原列表不变

stus.extend(names)                  #把另一个列表里面的每个值挨个添加到前面的列表中,不返回值

print(stus.extend(names)) # 结果是None

print(stus) # 被增加后的样子

nums = [23,34,21,2,456,35,12324324]

nums.sort()               #排序,默认是升序,不返回值

print('sort:',nums)

nums.sort(reverse=True)                  #排序,指定reverse=True就是降序,不返回值

print('sort降序:',nums)

print(nums.reverse())   #倒序

print(nums)

以上都是单列表的一些基本操作,列表还有多维的,多维列表元素查找时不要慌,引用一样是用下标,注意维度要从外到内。

lis = [1,'lily',19.8,['lily','lilei',['heheh','haha']]]

print(lis[3][2][1])                # 结果为haha

切片操作:

切片的意思就是从list里面或者字符串里面取某个或某几个元素,切片操作对字符串也是完全适用的。

name1 = 'zcl,pyzyz'
names = ['zcl','py','zyz']

print(names[0:2])    #从第几个取到第几个,这个也是顾头不顾尾,此例取的是第0个和第一个这俩元素
print(names[:2])    #如果是从第一个开始取,取到某一个下标结束,那么最前面是可以不写的    
print(names[1:])    #如果是从前面某个开始取,取到最后面结束,那么最后面是可以不写的
print(names[:])      #如果最前面和最后面都不写的话,取整个列表

nums = list(range(1,11))
print(nums[1:10:2])  #如果最后面写上步长的话,就是每隔几个取一次,此例结果是 [2, 4, 6, 8, 10]
print(nums[::2])    #此例结果是 [1, 3, 5, 7, 9]
print(nums[::-2])     #当切片的步长为负数时,是从末尾开始取值的,然后隔几个取一次 [10, 8, 6, 4, 2]
print(nums[::-1])     #如果步长为-1的时候,还有反转的功能 [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

Python学习杂记_5_列表常用操作的更多相关文章

  1. Python学习杂记_6_字典常用操作

    字典操作 字典是由一对花括号括起来的一组“键值对”,每个键值对就是字典的一个元素,元素在字典中是无序的,常见操作如下: info = { 'name':'xiaoming', 'sex':'nan', ...

  2. python学习二,字符串常用操作

    字符串可以说是在日常开发中应用最广泛的了,现在来总结下有关python中有关字符串一些常用操作 首先我们声明一个字符串变量 str = "hello world" 下面我们来依次介 ...

  3. python基础之列表常用操作及知识点小结

    列表(list) List(列表) 是 Python 中使用最频繁的数据类型.列表可以完成大多数集合类的数据结构实现.它支持字符,数字,字符串甚至可以包含列表(所谓嵌套).列表用[ ]标识,是pyth ...

  4. Python自动化开发(三):循环次数控制、常用数据类型、字符串格式化、列表常用操作、列表的后续操作

    计数器的作用可以在死循环中,符合条件的情况下做自动退出中断 #!/usr/bin/env python # _*_ coding: utf-8 _*_ # @Time : 2017/3/14 11:2 ...

  5. python字符串,列表常用操作

    24天养成一个好习惯,第五天! 一.字符串需要掌握的操作 1.取值(索引取值)需要注意的是只能取,不能改 msg = 'hello world' print(msg[4]) 2.切片(顾头不顾尾) m ...

  6. Python学习之路13☞常用模块

    一 time模块 在Python中,通常有这几种方式来表示时间: 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运行“type(t ...

  7. python学习笔记整理——列表

    Python 文档学习笔记 数据结构--列表 列表的方法 添加 list.append(x) 添加元素 添加一个元素到列表的末尾:相当于a[len(a):] = [x] list.extend(L) ...

  8. Python脚本控制的WebDriver 常用操作 <一> 启动浏览器

    由于本人的学习定位是基于Selenium+WebDriver+Python+FireFox+Eclipse+Pydev, 所以我的笔记也只和这方面相关. 我打算先学习基于Python脚本WebDriv ...

  9. python学习笔记之列表与元组

    一.概述 python包含6种内建的序列,其中列表和元组是最常用的两种类型.列表和元组的主要区别在于,列表可以修改,元组则不能修改 使用上,如果要根据要求来添加元素,应当使用列表:而由于要求序列不可修 ...

随机推荐

  1. 初识redis-cluster

    安装redis [root@localhost ~]# cd /datas/soft/ [root@localhost soft]# ll redis-.tar.gz // 已经下载的最新版 -rwx ...

  2. PHP操作redis的常用例子

    Redis常用的例子 1,connect 描述:实例连接到一个Redis. 参数:host: string,port: int 返回值:BOOL 成功返回:TRUE;失败返回:FALSE 示例: &l ...

  3. Laravel — homestead 配置多站点

    一.homestead.yaml 配置 homestead.yaml 文件配置sites,如下 sites: - map: homestead.test to: /home/vagrant/Code/ ...

  4. 使用U盘给笔记本重做系统

    **一.戴尔 Vostro 14 3000 Series **1. 开机时快速按F12进入BIOS界面 **2. 按照下图进行一系列的处理,把U盘被设置为第一启动项 **3. 插入U盘后进入老毛桃PE ...

  5. request_resource

    1.全局变量 resource结构体定义如下,指针parent.sibling.child用于构建树状结构. struct resource { resource_size_t start; reso ...

  6. Java装箱和拆箱

    https://www.cnblogs.com/dolphin0520/p/3780005.html http://mxdxm.iteye.com/blog/2028196 装箱过程是通过调用包装器的 ...

  7. Apache shiro学习总结

    Apache shiro集群实现 (一) shiro入门介绍 Apache shiro集群实现 (二) shiro 的INI配置 Apache shiro集群实现 (三)shiro身份认证(Shiro ...

  8. Eclipse安装MAT插件

    MAT(Memory Analyzer Tool) 是基于heap dumps来进行分析的,它的分析速度比jhat快,分析结果是图形界面显示,比java内置jhat的可读性更高 通过Eclipse市场 ...

  9. 使用 Bullet,BulletManager 在 XNA 中创建子弹攻击目标(十五)

    平方已经开发了一些 Windows Phone 上的一些游戏,算不上什么技术大牛.在这里分享一下经验,仅为了和各位朋友交流经验.平方会逐步将自己编写的类上传到托管项目中,没有什么好名字,就叫 WPXN ...

  10. adb命令模拟按键事件

    //这条命令相当于按了设备的Backkey键 adb shell input keyevent 4 //可以解锁屏幕 adb shell input keyevent  82 //在屏幕上做划屏操作, ...