列表

列表初识

  列表属于容器性数据类型。

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_列表初识及操作的更多相关文章

  1. Python_字符串初识及操作

    字符串初识及操作 str  'alex'.'1235443543'.'[1,2,3]'.可存放少量数据. 索引.切片.步长 索引编号 正向索引 'python' 012345 'p'的正向索引编号为0 ...

  2. 初识python 字符串 列表 字典相关操作

    python基础(一): 运算符: 算术运算: 除了基本的+ - * / 以外,还需要知道 :  // 为取整除 返回的市商的整数部分 例如: 9 // 2  ---> 4  , 9.0 //  ...

  3. 小白的Python之路 day2 列表、元组操作

    1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 1 names = ['Tom','Jack','Qian'] 通过下标访问列表中 ...

  4. 获取列表的索引操作:enumerate

    通过循环获取列表的索引操作: 主要使用:enumerate product_list = [['Iphone7',5800], ['Coffee',30], ['疙瘩汤',10], ['Python ...

  5. redis:list列表类型的操作

    1. list列表类型的操作 1.1. lpush/rpush key value [value ...] 链表的头部(左侧)或尾部(右侧)插入值 语法:lpush key value [value ...

  6. [PY3]——内置数据结构(1)——列表及其常用操作

    列表及其常用操作_xmind图         about列表 列表是一个序列,用于顺序存储数据 列表分为两种:ArrayList(用数组实现).LinkedList(用链表实现) 定义与初始化 #l ...

  7. python-类对象以列表切片模式操作

    #类对象以列表切片模式操作 class Person: def __init__(self): self.cache=[] def __setitem__(self, key, value): #修改 ...

  8. Python基础——列表、元组操作

    列表.元组操作 列表: 列表是Python中最基本的数据结构,列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型.列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0 ...

  9. 【python系统学习06】一张图看懂列表并学会操作

    点击跳转-原文地址 数据类型 - 列表(list) 「目录:」 一张图了解列表 列表是什么 列表长啥样 语法格式 代码示例 格式特征 列表定义 列表操作 - 提取单个:偏移量 什么是偏移量 偏移量提取 ...

随机推荐

  1. iOS 让视图UIView 单独显示某一侧的边框线

    有时候需要让view显示某一侧的边框线,这时设置layer的border是达不到效果的.在网上查阅资料发现有一个投机取巧的办法,原理是给view的layer再添加一个layer,让这个layer充当边 ...

  2. fedora 29 桌面版 设置 cockpit 自动开机启动

    systemctl enable cockpit 时,会出现如下错误: The unit files have no installation config (WantedBy, RequiredBy ...

  3. CentOS6.5 安装并配置vsftpd

    一.获取root权限 su 输入root密码 二.检查是否安装 rpm -qa | grep vsftpd 如果安装,会显示安装版本号,没有就什么都不显示 三.若已安装过vsftpd,先卸载.卸载前, ...

  4. Linux安装Python3后,如何使用pip命令

    系统环境:CentOS7.4 已安装好Python3.6.5 Python3.6.5自带pip 使用pip安装第三方库,可运行指令,例如安装paramiko库: python -m pip insta ...

  5. 十大经典排序算法的python实现

    十种常见排序算法可以分为两大类: 非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序.包括:冒泡排序.选择排序.归并排序.快速 ...

  6. KFCM算法的matlab程序

    KFCM算法的matlab程序 在“聚类——KFCM”这篇文章中已经介绍了KFCM算法,现在用matlab程序对iris数据库进行简单的实现,并求其准确度. 作者:凯鲁嘎吉 - 博客园 http:// ...

  7. JAVA 容易忽略的东西

    Java中的取余会出现负数.用Math.floorMod()方法可以掰正,但是也仅限被除数是负数的情况,如果除数是负数,这个没用. 和C不一样,Java中的字符串是不可变字符串,不能修改Java字符串 ...

  8. C# SHA256加密算法记录

    using System.Text; using System.Diagnostics; using System.Security; using System.Security.Cryptograp ...

  9. C#编程の模板

    C#泛型编程已经深入人心了.为什么又提出C#模板编程呢?因为C#泛型存在一些局限性,突破这些局限性,需要使用C#方式的模板编程.由于C#语法.编译器.IDE限制,C#模板编程没有C++模板编程使用方便 ...

  10. 《JAVA程序设计》_第一周学习总结

    20175217吴一凡 <java程序设计> 第一周学习总结 虽然已经做好了心理准备,但第一周的学习任务着实让我忙了整整三天,还是挺充实的吧.寒假已经在自己的电脑上安装好了虚拟机,我就在我 ...