定义一个列表

晚上的状态不太适合写博客,容易犯困~

  • 列表的增加有三种方式

    • 第一种主流的增加 append函数
    list1 = ['noevil', 'fordearme', 'city', 'custom']
    # 列表的增加 append
    list1.append('你好')
    print(list1) # ['noevil', 'fordearme', 'city', 'custom', '你好'] # 如果输入为q就退出,否则输入的员工名字将持续添加
    person_list = []
    while 1:
    add_person = input('请输入要添加的员工名字: ')
    # 不区分大小写
    if add_person.strip().upper() == 'Q':
    break
    person_list.append(add_person)
    print('公司现有人员名单%s' % person_list)
    • 第二种 insert函数 L.insert(插入的索引位置, 插入的对象)
    list1 = ['noevil', 'fordearme', 'city', 'custom']
    list1.insert(0, 'no give')
    ['no give', 'noevil', 'fordearme', 'city', 'custom']
    list1.insert(4, 'no give')
    ['noevil', 'fordearme', 'city', 'custom', 'no give']
    • 第三种 列表的迭代添加
    list1.extend('二哥')
    print(list1)
    ['noevil', 'fordearme', 'city', 'custom', '二', '哥']
    列表的迭代添加的对象必须是可迭代对象,int不是
    list1.extend(123)
    print(list1)

    报错信息如下:

正确添加方式如下:

    list1.extend([1, 2, 3])
print(list1)
['noevil', 'fordearme', 'city', 'custom', '二', '哥', 1, 2, 3]

列表的删除

  • 按照索引删除 pop函数

    li = ['youxiu', 'laogan', 'laosi', 'chenwei']
    del_li2 = li.pop() # 如果不指定索引值,默认删除最后一个
    print(li) # ['youxiu', 'laogan', 'laosi']
    del_li = li.pop(1) # 指定了删除索引为1的
    print(li) #['youxiu', 'laosi', 'chenwei']
    print(del_li) # laogan 返回值为删除的对象
  • 按元素删除 remove函数

    li = ['男神', '女神', '丘比特']
    li.remove('男神')
    print(li) # ['女神', '丘比特']
  • 一般不用的,全部删除,清空列表

    li.clear()
    print(li) # []
  • 直接删除连列表

    del li
  • 切片删除

    del li[2:4]

列表的修改

test1 = ['徐鹏SB', '孙悟空', '八戒', '猕猴']
print(test1[0])
# 徐鹏SB # 原理是先把索引范围内的值给拿出来,之后循环的往里面添加你要修改的字符串或者列表等
test1[0:2] = '这个你会很吃惊'
print(test1)
# ['这', '个', '你', '会', '很', '吃', '惊', '八戒', '猕猴']

公共的方法

# 列表的统计指定字符出现次数
test2 = ['s', 's', 'c', 'dd', 'p']
total_count = test2.count('s')
print(total_count) # 找指定字符第一次出现的索引,可以选择索引的 范围 index_str = test2.index('s', 1, 3)
print(index_str) # 1 # 列表的排序
# 正向排序
sort_list = [5, 4, 2, 6, 8, 3]
# sort_list.sort()
# print(sort_list)
# [2, 3, 4, 5, 6, 8] # 反向排序 # sort_list.sort(reverse=True)
# print(sort_list)
# [8, 6, 5, 4, 3, 2] # 反转排序
sort_list.reverse()
print(sort_list)
# [3, 8, 6, 2, 4, 5]

元组

  • 只读文件,只能,不可修改,但是元组自身不可以修改,却可能可以修改自己的儿子
test_tuple = ('hello', 'world', [1, 2, 3, '就要改你'], 89)
# 可以查询
print(test_tuple[1])

# 但是我们修改他自己
test_tuple[1] = '我改'
  • 结果会报错

 # 元组里面的可变类型是可以修改的
test_tuple[2][3] = test_tuple[2][3] = '改了'
print(test_tuple)
  • 可以看见元组里面的列表已经修改,所以元组的不可更改并不是真正意义上的不可修改

li = [1, 2, 3, 5, 'jls', [2, 3, 4, 5, 'youxiu'], 'sff']
for i in li:
if type(i) == list:
for j in i:
print(j)
else:
print(i)
  • 结果如下:

有一个有意思的题目

for i in range(0, 10, -1):
print(i)
# 输出结果是什么,肯定不是你想的那样

结果即不报错,也不输出什么:

Python基础之列表及元组的增删改查的更多相关文章

  1. python学习之列表的定义以及增删改查

    列表定义: >>> name['lily','lucy','tom'] >>> nums = [11,22,33,'100','lily'] #python中的列表 ...

  2. python基础4 列表和元组

    一. 列表列表:python基础数据类型之一:其他语言中也有列表的概念,js 数组,可索引,可切片,可加步长li = ['hello', 100, True, [1, 2, 3], {'name':' ...

  3. python基础之列表list元组tuple

    作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7041763.html python基础之列表list元组tuple 列表li ...

  4. Python基础(列表、元组)

    列表 在Python中列表用[]来表示,中间的元素可以是任何类型,用逗号分隔.列表是可变类型. 列表常用操作:增删改查. names = ["小明","小红", ...

  5. python链接oracle数据库以及数据库的增删改查实例

    初次使用python链接oracle,所以想记录下我遇到的问题,便于向我这样初次尝试的朋友能够快速的配置好环境进入开发环节. 1.首先,python链接oracle数据库需要配置好环境. 我的相关环境 ...

  6. Python基础学习 -- 列表与元组

    本节学习目的: 掌握数据结构中的列表和元组 应用场景: 编程 = 算法 + 数据结构 数据结构: 通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合,这些元素可以是数字或者字符,或者其他数据 ...

  7. python的Web框架,Django的ORM,模型基础,MySQL连接配置及增删改查

    Django中的ORM简介 ORM概念:对象关系映射(Object Relational Mapping,简称ORM): 用面向对象的方式描述数据库,去操作数据库,甚至可以达到不用编写SQL语句就能够 ...

  8. python 全栈开发,Day5(字典,增删改查,其他操作方法)

    一.字典 字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.存储大量的数据,是关系型数据,查询数据快. 列表是从头遍历到尾字典使用二分查找 二分查找也称折半查找(Bi ...

  9. python全栈开发day62-两表操作增删改查,外键,if else模板语法

    一.今日内容总结: day62 内容回顾: 1. django有关所有命令: pip install django==1.11.14 django-admin startproject 项目名称 cd ...

随机推荐

  1. 浮动ip原理及简单实现

    原理:https://blog.csdn.net/readiay/article/details/53538085 简单实现:https://www.cnblogs.com/victorwu/p/70 ...

  2. myeclipse项目 不能打开

    重启电脑后, myeclipse项目 不能打开了, 之前都是好好的!! 出现: Failed to read the project description file (.project) for ' ...

  3. NAS 百科 —— http://baike.baidu.com/item/NAS%E7%BD%91%E7%BB%9C%E5%AD%98%E5%82%A8

    NAS(Network Attached Storage)网络存储基于标准网络协议实现数据传输,为网络中的Windows / Linux / Mac OS 等各种不同操作系统的计算机提供文件共享和数据 ...

  4. C++构造函数和析构函数执行顺序

    四种情况:1. 创建一个类指针时,调用其构造函数:删除当前指针时,自动调用其析构函数.2. 创建子类对象指针时,首先调用其父类的构造函数,然后调用子类的构造函数:删除当前指针时先调用子类的析构函数,然 ...

  5. SPARK共享变量:广播变量和累加器

    Shared Variables Spark does provide two limited types of shared variables for two common usage patte ...

  6. 怎样消除adobe flash player设置

    在有FLASH画面上,点右键选下面的设置,出现设置框去掉打上钩的即可. 如果flash player插件安装好后,视频仍无法播放,则进行以下操作:打开“我的电脑”——>“本地磁盘(C)” ——& ...

  7. OWASP安全编码规范快速参考指南

    0x00 原则 概览 开发安全的软件需要对安全原则有基本的了解.虽然对于安全原则的全面评估超出了本指南的范围,但是我们还是提供了一个快速的概览.软件安全的目标是要维护信息资源的 保密性 ,  完整性 ...

  8. 浅谈transient关键字

    1,用途 当一个对象实现了Serilizable接口,这个对象就可以被序列化.而有时候我们可能要求:当对象被序列化时(写入字节序列到目标文件)时,有些属性需要序列化,而其他属性不需要被序列化,打个比方 ...

  9. 反射机制(java)

    反射机制 反射机制可通过在运行时加载类名而获取类,并对其进行操作.工厂模式,动态代理中较常用到. 在实际场景中:由于有好多类具有共同的接口样式,而他们又用的不是很频繁,如果在服务器中保有这些类会占用资 ...

  10. FireDac 组件说明一

    TFDManager 连接定义和Connect连接管理  TFDConnection 数据库连接组件,支持三种连接方式:1.持久定义(有一个唯一名称和一个配置文件,可以由FDManager管理) 例: ...