Python_列表初识及操作
列表
列表初识
列表属于容器性数据类型。
li = [123, '狗', True, [1, 2, 3], {'name': 'Lon'}, (1, 2, 3)]
其中包含有int型,例如123;字符串,例如'狗';bool值,例如True;列表,例如[1,2,3];字典,例如{'name':'Lon'};元组,例如(1,2,3)。
按照索引:
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
print(l1[0])
结果:

l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
print(l1[1],type(l1[1]))
结果:

按照切片取值
起始切
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
print(l1[:3])
结果:

结尾切
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
print(l1[2:])
结果:

步长切
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
print(l1[::2])
结果:

增
增加一共有三种方式,分别为__.append()、__.insert()、__.extend()。
append('A')
增加,在列表最后边添加需要添加的内容A,返回值为None。
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
print(l1.append('女神'))
l1.append('女神') 这条语句只是一个动作,所以无法输出结果,当打印这条代码是,输出的结果为None,结果如下图:

追加字符串
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
l1.append('女神')
print(l1)
结果:

追加列表
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
l1.append([1, 2, 1111])
print(l1)
结果:
给一个列表中添加循环添加数据。如下:
name_list = ['wusir', 'alex', 'laonanhai', 'ritian', 'taibai']
while True:
user_name = input('请输入新员工的名字:q或Q退出').strip()
if user_name.upper() == 'Q':
break
name_list.append(user_name)
print('您已经成功添加了%s' % user_name)
print(name_list)
结果:

.insert(Num,A)
插入,在索引为Num的位置插入A。
name_list = ['wusir', 'alex', 'laonanhai', 'ritian', 'taibai']
name_list.insert(1, '哪吒')
print(name_list)
结果:

extend('ABC')
迭代追加,将'ABC'拆分成本最小的单元添加在列表后边。
name_list = ['wusir', 'alex', 'laonanhai', 'ritian', 'taibai']
name_list.extend('abc')
print(name_list)
结果:

当添加的内容为列表时,列表内的字符串不进行拆分,只是拆分列表成列表的最小单元。
name_list = ['wusir', 'alex', 'laonanhai', 'ritian', 'taibai']
name_list.extend([1, 2, 3, 4, 'abc'])
print(name_list)
结果:
删
.pop(Num)
按照索引去删除,有返回值。删除索引号Num对应的元素。
name_list = ['wusir', 'alex', 'laonanhai', 'ritian', 'taibai']
ret = name_list.pop(0)
print(ret)
print(name_list)
结果:

.remove('A')
按照元素去删除,删除元素A。
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
l1.remove('alex')
print(l1)
结果:

.clear()
清空列表。
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
l1.clear()
print(l1)
结果:

del
在内存级别删除列表。
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
del l1
print(l1)
结果:

按照索引删除
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
del l1[2]
print(l1)
结果:

切片删除
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
del l1[:-1]
print(l1)
结果:

加步长删除
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
del l1[::2]
print(l1)
结果:

改
按照索引去改
正索引
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
l1[0] = '肖锋'
print(l1)
结果:

负索引
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
l1[-1] = '男神'
print(l1)
结果:

按照切片去改,先将切片的区域内的容全部删除,然后迭代着添加内容。
字符串
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
l1[:3] = '范德萨发给ghfkhgh;'
print(l1)
结果:
列表
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
l1[:3] = [1111, 2222, 3333, 4444]
print(l1)
结果:

查
按照切片去查
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
print(l1[:4])
结果:

for循环
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
for i in l1:
print(i)
结果:

其他操作方法
len(A)
计算A的元素个数。
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
cou = len(l1)
print(cou)
结果:

.count('A')
统计A元素的个数。
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
print(l1.count('taibai'))
结果:

.index()
通过元素找索引,可以设置起始位置和结束位置。
源码
def index(self, value, start=None, stop=None): # real signature unknown; restored from __doc__
"""
L.index(value, [start, [stop]]) -> integer -- return first index of value.
Raises ValueError if the value is not present.
"""
return 0
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
print(l1.index('alex', 2))
结果:

.sort()
从小到大,正序排序
l2 = [1, 3, 5, 9, 7, 6, 2, 4]
l2.sort()
print(l2)
结果:

从大到小,倒序排序
l2 = [1, 3, 5, 9, 7, 6, 2, 4]
l2.sort(reverse=True)
print(l2)
结果:

.reverse()
翻转
l2 = [1, 3, 5, 9, 7, 6, 2, 4]
l2.reverse()
print(l2)
结果:

Python_列表初识及操作的更多相关文章
- Python_字符串初识及操作
字符串初识及操作 str 'alex'.'1235443543'.'[1,2,3]'.可存放少量数据. 索引.切片.步长 索引编号 正向索引 'python' 012345 'p'的正向索引编号为0 ...
- 初识python 字符串 列表 字典相关操作
python基础(一): 运算符: 算术运算: 除了基本的+ - * / 以外,还需要知道 : // 为取整除 返回的市商的整数部分 例如: 9 // 2 ---> 4 , 9.0 // ...
- 小白的Python之路 day2 列表、元组操作
1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 1 names = ['Tom','Jack','Qian'] 通过下标访问列表中 ...
- 获取列表的索引操作:enumerate
通过循环获取列表的索引操作: 主要使用:enumerate product_list = [['Iphone7',5800], ['Coffee',30], ['疙瘩汤',10], ['Python ...
- redis:list列表类型的操作
1. list列表类型的操作 1.1. lpush/rpush key value [value ...] 链表的头部(左侧)或尾部(右侧)插入值 语法:lpush key value [value ...
- [PY3]——内置数据结构(1)——列表及其常用操作
列表及其常用操作_xmind图 about列表 列表是一个序列,用于顺序存储数据 列表分为两种:ArrayList(用数组实现).LinkedList(用链表实现) 定义与初始化 #l ...
- python-类对象以列表切片模式操作
#类对象以列表切片模式操作 class Person: def __init__(self): self.cache=[] def __setitem__(self, key, value): #修改 ...
- Python基础——列表、元组操作
列表.元组操作 列表: 列表是Python中最基本的数据结构,列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型.列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0 ...
- 【python系统学习06】一张图看懂列表并学会操作
点击跳转-原文地址 数据类型 - 列表(list) 「目录:」 一张图了解列表 列表是什么 列表长啥样 语法格式 代码示例 格式特征 列表定义 列表操作 - 提取单个:偏移量 什么是偏移量 偏移量提取 ...
随机推荐
- iOS 让视图UIView 单独显示某一侧的边框线
有时候需要让view显示某一侧的边框线,这时设置layer的border是达不到效果的.在网上查阅资料发现有一个投机取巧的办法,原理是给view的layer再添加一个layer,让这个layer充当边 ...
- fedora 29 桌面版 设置 cockpit 自动开机启动
systemctl enable cockpit 时,会出现如下错误: The unit files have no installation config (WantedBy, RequiredBy ...
- CentOS6.5 安装并配置vsftpd
一.获取root权限 su 输入root密码 二.检查是否安装 rpm -qa | grep vsftpd 如果安装,会显示安装版本号,没有就什么都不显示 三.若已安装过vsftpd,先卸载.卸载前, ...
- Linux安装Python3后,如何使用pip命令
系统环境:CentOS7.4 已安装好Python3.6.5 Python3.6.5自带pip 使用pip安装第三方库,可运行指令,例如安装paramiko库: python -m pip insta ...
- 十大经典排序算法的python实现
十种常见排序算法可以分为两大类: 非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序.包括:冒泡排序.选择排序.归并排序.快速 ...
- KFCM算法的matlab程序
KFCM算法的matlab程序 在“聚类——KFCM”这篇文章中已经介绍了KFCM算法,现在用matlab程序对iris数据库进行简单的实现,并求其准确度. 作者:凯鲁嘎吉 - 博客园 http:// ...
- JAVA 容易忽略的东西
Java中的取余会出现负数.用Math.floorMod()方法可以掰正,但是也仅限被除数是负数的情况,如果除数是负数,这个没用. 和C不一样,Java中的字符串是不可变字符串,不能修改Java字符串 ...
- C# SHA256加密算法记录
using System.Text; using System.Diagnostics; using System.Security; using System.Security.Cryptograp ...
- C#编程の模板
C#泛型编程已经深入人心了.为什么又提出C#模板编程呢?因为C#泛型存在一些局限性,突破这些局限性,需要使用C#方式的模板编程.由于C#语法.编译器.IDE限制,C#模板编程没有C++模板编程使用方便 ...
- 《JAVA程序设计》_第一周学习总结
20175217吴一凡 <java程序设计> 第一周学习总结 虽然已经做好了心理准备,但第一周的学习任务着实让我忙了整整三天,还是挺充实的吧.寒假已经在自己的电脑上安装好了虚拟机,我就在我 ...