python数据类型之列表(list)和其常用方法
列表是python常用数据类型之一,是可变的,可由n = []创建,也可由n = list()创建,第一种方法更常用。
常用方法总结:
# 创建方法 n = [] 或者 n = list() # index 查找索引值
li = ['Edward', 'Mark', 'John', 5435, 123, 8, 8, 8, 6, 6, True, 1, False, 0]
print(li.index(True)) #
print(li.index(1)) # 10 1也可以代表True
print(li.index(False)) #
print(li.index(0)) # 12 0也可以代表False
print(li.index(8)) # 5 从左往右找不到第一个匹配的就返回 # 切片,包含开头,但是不包含结尾,顾头不顾尾。
print(li[1:3]) # ['Mark', 'John']
# 不能从右往左且,只能从左往右切
print(li[-5:-1]) # [6, True, 1, False]
# 如果想要最后一个,那么直接不写就行
print(li[-5:]) # [6, True, 1, False, 0]
# 只要前面的几个的,冒号加想要的数字就行
print(li[:5]) # ['Edward', 'Mark', 'John', 5435, 123]
# 步长,再在后面加一个冒号,然后写想要按几步走,2步走就是跳一个,以此类推。
print(li[:5:3]) # ['Edward', 'John', 123]
print(li[::2]) # 跳一步走,从头走到尾 # 增加
li.append('peiqi') # 只加到最后
print(li) # 插入
li.insert(0, 'abc') # 插入是加到前面
print(li) # ['abc', 'Edward', 'Mark', 'John', 5435, 123, 8, 8, 8, 6, 6, True, 1, False, 0, 'peiqi'] # 修改
li[0] = 'Mark'
print(li) # ['Mark', 'Edward', 'Mark', 'John', 5435, 123, 8, 8, 8, 6, 6, True, 1, False, 0, 'peiqi'] # 修改多个值
li[3:6] = 'Li Lei'
print(li) # ['Mark', 'Edward', 'Mark', 'L', 'i', ' ', 'L', 'e', 'i', 8, 8, 8, 6, 6, True, 1, False, 0, 'peiqi']
# 这个方法会显示多出来的,很少用 # 删除
li.pop() # 删除最后一个
print(li) # ['Mark', 'Edward', 'Mark', 'L', 'i', ' ', 'L', 'e', 'i', 8, 8, 8, 6, 6, True, 1, False, 0] li.remove(8) # 指定删除,从左开始找,找到第一个后删除,但只能删除一个。
print(li) # ['Mark', 'Edward', 'Mark', 'L', 'i', ' ', 'L', 'e', 'i', 8, 8, 6, 6, True, 1, False, 0] del li[3:9] # 全局方法,可以删除任何东西,可以批量删除
print(li) # ['Mark', 'Edward', 'Mark', 8, 8, 6, 6, True, 1, False, 0] # range也是顾头不顾尾,取第一个值不取最后一个值。 # while循环可以是死循环,for循环有边界 # 排序
li2 = ['a', 'e', 'b', 1, 34, 2, 'c']
# li2.sort() # 报错,int和str之间不能排序 li2 = ['a', 'z', 'c', 'm', 'u', 'G', '!', '*', ',', '.']
li2.sort() # 按ASCII码表的顺序来排
print(li2) # ['!', '*', ',', '.', 'G', 'a', 'c', 'm', 'u', 'z'] # 翻转 li2.reverse()
print(li2) # ['z', 'u', 'm', 'c', 'a', 'G', '.', ',', '*', '!'] # 拼接列表 # 方法1 li3 = [1, 2, 3]
li4 = ['a', 'b', 'c']
print(li4 + li3) # ['a', 'b', 'c', 1, 2, 3] # 方法2
li5 = ['z', 'x', 'c']
li3.extend(li5)
print(li3) # [1, 2, 3, 'z', 'x', 'c'] # 清空列表 clear
li6 = [1, 123, 312, '', '', '*', 'asd']
print(li6.clear()) # None # copy li7 = [3, 4, 5]
li8 = li7 # li8指向了li7,而不是li7的值
li7[0] = 'alex'
print(li7) # ['alex', 4, 5]
print(li8) # ['alex', 4, 5] li9 = [1, 2, 3]
li10 = li9.copy()
li9[0] = 'alex'
print(li9) # ['alex', 2, 3]
print(li10) # [1, 2, 3]
python数据类型之列表(list)和其常用方法的更多相关文章
- python数据类型:列表List和Set
python数据类型:列表List, Set集合 序列是Python中最基本的数据结构 序列中每个元素都分配一个数字,表示索引 列表的数据项不需要具有相同的类型 列表中的值可以重复并且有 ...
- Python数据类型list(列表)和tuple(元组)
list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用一个list表示: >>> ...
- Python数据类型(列表)
文章内容参考了教程:http://www.runoob.com/python/python-basic-syntax.html#commentform Python 列表(List) 序列是Pytho ...
- Python之路-python数据类型(列表、字典、字符串、元祖)操作
一.列表: 列表的语法,以中括号开通和结尾,元素以逗号隔开.例如:name = [] 列表是以下标取值,第一个元素下标是0,第二个元素下标是1,最后一个元素下标是-1. 1.增加 #name = ...
- Python数据类型之列表
一.基本数据类型 整数:int 字符串:str(注:\t等于一个tab键) 布尔值: bool 列表:list (元素的集合) 列表用[] 元祖:tuple 元祖用() 字典:dict注:所有的数据类 ...
- Python基础-python数据类型之列表(四)
列表 格式 namesList = [ 字符串,数字,列表,元祖,集合] 列表中的元素可以是不 同类型的 列表的相关操作 列表中存放的数据是可以进行修改的,比如"增"." ...
- python 数据类型二 (列表和元组)
一.列表 1.1 列表的介绍 列表是python的基本数据类型之一,其他编程语言也有类似的数据类型,比如JS中的数组,java中的数组等等,它是以[]括起来,每个元素用逗号隔开,而且可以存放各种数据类 ...
- python数据类型之字典(dict)和其常用方法
字典的特征: key-value结构key必须可hash,且必须为不可变数据类型.必须唯一. # hash值都是数字,可以用类似于2分法(但比2分法厉害的多的方法)找.可存放任意多个值.可修改.可以不 ...
- python数据类型之字符串(str)和其常用方法
字符串是有序的,不可变的. 下面的例子说明了字符串是不可变的 name = 'alex' name = 'Jack' """ 并没有变,只是给name开启了一块新内存,储 ...
随机推荐
- NET Core 事件总线
NET Core 事件总线,分布式事务解决方案:CAP 背景 相信前面几篇关于微服务的文章也介绍了那么多了,在构建微服务的过程中确实需要这么一个东西,即便不是在构建微服务,那么在构建分布式应用的过程中 ...
- 牛客网Java刷题知识点之什么是匿名内部类、匿名内部类的使用原则、匿名内部类初始化、匿名内部类使用的形参为何要为final 和 案例
不多说,直接上干货! 什么是匿名内部类 匿名内部类就是没有名字的内部类. 不使用关键字class . extends .implements 没有构造函数 必须继承其他类或实现其他接口 正因为没有名字 ...
- [WPF自定义控件库]了解如何自定义ItemsControl
1. 前言 对WPF来说ContentControl和ItemsControl是最重要的两个控件. 顾名思义,ItemsControl表示可用于呈现一组Item的控件.大部分时候我们并不需要自定义It ...
- java 多线程死锁
死锁案例: package com.test; public class DealThread implements Runnable { public String username; public ...
- 一步步实现自己的ORM(二)
在第一篇<一步步实现自己的ORM(一)>里,我们用反射获取类名.属性和值,我们用这些信息开发了简单的INSERT方法,在上一篇文章里我们提到主键为什么没有设置成自增长类型,单单从属性里我们 ...
- 【Java】 Maven多模块项目上传到Sonar扫描问题合集
上传到Soanr时,项目有单元测试数,但是覆盖率为0 修改pom.xml <plugin> <groupId>org.apache.maven.plugins</grou ...
- ECSHOP 商品增加新字段的方法
在ecshop二次开发工作中,经常碰到一些ECSHOP高级使用者问我,如何给商品增加一个新字段,来录入一些新的内容. 下面我们结合ecshop后台“商品编辑”.“商品录入”来谈谈如何给ecshop商品 ...
- (2017.10.10) 我对 JavaScript 历史的认识
关于 JavaScript 的历史和来由相信学过 JavaScript 的小伙伴都能说出一二.我看过一些入门书籍第一章或者前言部分都有介绍,但是一直没捋清这段历史.今天通过两个问题,来加深我对 Jav ...
- 零基础逆向工程12_C语言06_switch语句反汇编
12_C语言06_switch语句反汇编 switch语句反汇编 测试环境:VC++6.0 分支少于4的时候没有意义,编译器会生成类似if...else之类的反汇编,不超过三个分支,不会生成索引表. ...
- 新项目升级到JFinal3.5之后的改变-着重体验自动依赖注入
最近,JFinal3.5发布,喜大普奔,我也应JBolt用户的需求,将JBolt进行了升级,实现可配置自动注入开启,支持JFinal3.5的项目生成.具体可以看:JBolt升级日志 这等工作做完后,我 ...