1. 列表
  2. 列表的增删改查 3. 列列表的嵌套
  3. 元组和元组嵌套 5. range
    ⼀一. 列表
    1.1 列表的介绍
    列表是python的基础数据类型之⼀一 ,其他编程语⾔言也有类似的数据类型. 比如JS中的数 组, java中的数组等等. 它是以[ ]括起来, 每个元素⽤用' , '隔开⽽而且可以存放各种数据类型:
    列表相比于字符串串. 不仅可以存放不同的数据类型. ⽽而且可以存放⼤大量量的数据. 32位 python可以存放: 536870912个元素, 64位可以存放: 1152921504606846975个元素.⽽而且列列 表是有序的(按照你保存的顺序),有索引, 可以切⽚片⽅方便便取值.
    2.2 列列表的索引和切片 列列表和字符串串⼀一样也拥有索引:
    lst = [1, '哈哈', "吼吼", [1,8,0,"百度"], ("我","叫", "元", "组"), "abc", {"我 叫":"dict字典"},{"我叫集合","集合"}]
    lst = ["麻花藤", "王剑林林", "⻢马芸", "周鸿医", "向华强"] print(lst[0]) # 获取第⼀一个元素
    print(lst[1])
    print(lst[2])
    lst[3] = "流动强" # 注意. 列列表是可以发⽣生改变的. 这⾥里里和字符串串不不⼀一样 print(lst) # ['麻花藤', '王剑林林', '⻢马芸', '流动强', '向华强']
    s0 = "向华强"
    s0[1] = "美" # TypeError: 'str' object does not support item assignment 不不 允许改变
    print(s0)
    列列表的切片:
    lst = ["麻花藤", "王剑林林", "⻢马芸", "周鸿医", "向华强"] print(lst[0:3]) # ['麻花藤', '王剑林林', '⻢马芸'] print(lst[:3]) # ['麻花藤', '王剑林林', '⻢马芸']

print(lst[1::2])
print(lst[2::-1])
print(lst[-1:-3:-2])

['王剑林', '周鸿医'] 也有步⻓长

['⻢芸', '王剑林', '麻花藤'] 也可以倒着取

倒着带步⻓长

⼆二. 列列表的增删改查

  1. 增, 注意, list和str是不⼀一样的. lst可以发⽣生改变. 所以直接就在原来的对象上进⾏行行了了操

    lst = ["麻花藤", "林林俊杰", "周润发", "周芷若"] print(lst)
    lst.append("wusir")
    print(lst)
    lst = []
    while True:
    content = input("请输⼊入你要录⼊入的员⼯工信息, 输⼊入Q退出:") if content.upper() == 'Q':
    break
    lst.append(content)
    print(lst)
    lst = ["麻花藤", "张德忠", "孔德福"]
    lst.insert(1, "刘德华") # 在1的位置插⼊入刘德华. 原来的元素向后移动⼀一位 print(lst)

    迭代添加

    lst = ["王志⽂文", "张⼀一⼭山", "苦海海⽆无涯"] lst.extend(["麻花藤", "麻花不不疼"]) print(lst)

  2. 删除
    pop, remove, clear, del
    lst = ["麻花藤", "王剑林林", "李李嘉诚", "王富贵"] print(lst)
    deleted = lst.pop() # 删除最后⼀一个 print("被删除的", deleted)
    print(lst)
    el = lst.pop(2) # 删除2号元素 print(el)
    print(lst)
    lst.remove("麻花藤") # 删除指定元素

print(lst)

lst.remove("哈哈") # 删除不不存在的元素会报错 # # print(lst)

lst.clear()
print(lst)

切⽚片删除 del lst[1:3] print(lst)

清空list

  1. 修改 索引切片修改
    # 修改
    lst = ["太⽩", "太黑", "五色", "银王", "⽇日天"] lst[1] = "太污" # 把1号元素修改成太污 print(lst)
    lst[1:4:3] = ["麻花藤", "哇靠"] # 切⽚片修改也OK. 如果步⻓长不不是1, 要注意. 元素的个 数
    print(lst)
    lst[1:4] = ["李李嘉诚个⻳龟⼉儿⼦子"] # 如果切⽚没有步长或者步长是1. 则不不⽤用关⼼个数 print(lst)
  2. 查询,列列表是⼀一个可迭代对象,所以可以进行for循环
  3. 其他操作
    for el in lst:
    print(el)
    lst = ["太⽩白", "太⿊黑", "五⾊色", "银王", "⽇日天", "太⽩白"] c = lst.count("太⽩白") # 查询太⽩白出现的次数 print(c)
    lst = [1, 11, 22, 2]
    lst.sort() # 排序. 默认升序 print(lst)
    lst.sort(reverse=True) # 降序 print(lst)

lst = ["太⽩白", "太⿊黑", "五⾊色", "银王", "⽇日天", "太⽩白"] print(lst)
lst.reverse()
print(lst)
l = len(lst) # 列列表的⻓长度 print(l)
三. 列列表的嵌套 采⽤用降维操作.⼀一层⼀一层的看就好.
lst = [1, "太⽩白", "wusir", ["⻢马⻁虎疼", ["可⼝口可乐"], "王剑林林"]] # 找到wusir
print(lst[2])

找到太⽩白和wusir

print(lst[1:3]) # 找到太⽩白的⽩白字
print(lst[1][1])

将wusir拿到. 然后⾸首字⺟母⼤大写. 再扔回去 s = lst[2]

s = s.capitalize()
lst[2] = s
print(lst)

简写

lst[2] = lst[2].capitalize() print(lst)

把太⽩白换成太⿊黑

lst[1] = lst[1].replace("⽩白", "⿊黑") print(lst)

把⻢马⻁虎疼换成⻢马化疼

lst[3][0] = lst[3][0].replace("⻁虎", "化") print(lst[3][0])
lst[3][1].append("雪碧") print(lst)
四. 元组和元组嵌套
元组: 俗称不可变的列列表.⼜又被成为只读列列表, 元组也是python的基本数据类型之⼀一, ⽤用⼩小括
号括起来, ⾥里里⾯面可以放任何数据类型的数据, 查询可以. 循环也可以. 切片也可以. 但就是不能 改.
tu = (1, "太⽩白", "李李⽩白", "太⿊黑", "怎么⿊黑")

print(tu)
print(tu[0])
print(tu[2])
print(tu[2:5]) # 切⽚片之后还是元组

for循环遍历元组 for el in tu: print(el)

尝试修改元组

tu[1] = "⻢马⻁虎疼" # 报错 'tuple' object does not support item assignment

tu = (1, "哈哈", [], "呵呵")

tu[2] = ["fdsaf"] # 这么改不不⾏行行

tu[2].append("麻花藤") # 可以改了了. 没报错 tu[2].append("王剑林林")
print(tu)
这⾥里里元组的不可变的意思是⼦子元素不可变. ⽽而⼦子元素内部的⼦子元素是可
以变, 这取决于⼦子元素是否是可变对象.
关于不可变, 注意:
元组中如果只有⼀一个元素. ⼀一定要添加⼀一个逗号, 否则就不是元组
元组也有count(), index(), len()等⽅方法. 可以⾃自⼰己测试使⽤用
五. range
range可以帮我们获取到⼀一组数据. 通过for循环能够获取到这些数据.
tu = (1,)
print(type(tu))
for num in range(10):
print(num)
for num in range(1, 10, 2):
print(num)
for num in range(10, 1, -2):
print(num)

反着来, 和切⽚片⼀一样

万恶之源-python的进化的更多相关文章

  1. 万恶之源-python基本数据类型

    万恶之源-基本数据类型(dict) 本节主要内容: 字典的简单介绍 字典增删改查和其他操作 3. 字典的嵌套 ⼀一. 字典的简单介绍 字典(dict)是python中唯⼀一的⼀一个映射类型.他是以{ ...

  2. 万恶之源-python内容的进化

    1.整数: ​ int--计算和比较 ​ 整数可以进行的操作: ​ bit_length().计算整数在内存中占用的二进制码的长度 2.布尔值 ​ bool 布尔值--用于条件使用 ​ True 真 ...

  3. 万恶之源 - Python开发规范

    开发规范 什么是开发规范?为什么要有开发规范呢? 你现在包括之前写的一些程序,所谓的'项目',都是在一个py文件下完成的,代码量撑死也就几百行,你认为没问题,挺好.但是真正的后端开发的项目,系统等,少 ...

  4. 万恶之源 - Python文件操作

    文件操作 初始文件操作 使用Python来读写文件是非常简单的操作,我们使用open()函数来打开一个文件,获取到文件句柄,然后通过文件句柄就可以进行各种各样的操作了 根据打开方式的不同能够执行的操作 ...

  5. 万恶之源 - Python基础

    Python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程 ...

  6. 万恶之源 - Python模块二

    shelve 我们之前学了json和pickle模块 这些都是序列化的模块,咱们进行在讲一个序列化的东西 叫做shelve 你们肯定有个疑问,这个东西和那个类似为什么要讲.是因为这个模块比较简单的,并 ...

  7. 万恶之源 - Python包的应用

    包的简介 你们听到的包,可不是女同胞疯狂喜欢的那个包,我们来看看这个是啥包 官方解释: Packages are a way of structuring Python’s module namesp ...

  8. 万恶之源 - Python模块一

    序列化 我们今天学习下序列化,什么是序列化呢? 将原本的字典.列表等内容转换成一个字符串的过程就叫做序列化. 为什么要有序列化模块: 比如,我们在python代码中计算的一个数据需要给另外一段程序使用 ...

  9. 万恶之源 - Python 自定义模块

    自定义模块 我们今天来学习一下自定义模块(也就是私人订制),我们要自定义模块,首先就要知道什么是模块啊 一个函数封装一个功能,比如现在有一个软件,不可能将所有程序都写入一个文件,所以咱们应该分文件,组 ...

随机推荐

  1. Mutex vs Semaphore vs Monitor vs SemaphoreSlim

    C#开发者(面试者)都会遇到Mutex,Semaphore,Monitor,SemaphoreSlim这四个与锁相关的C#类型,本文期望以最简洁明了的方式阐述四种对象的区别. 线程安全 教条式理解 如 ...

  2. CCBPM工作流系统中如何在特定的一个步骤,调用起另外一条流程

    关键词: 工作流快速开发平台  工作流设计  业务流程管理   asp.net 开源工作流bpm工作流系统  java工作流主流框架  自定义工作流引擎 需求描述: 1, 操作员在操作最后一个节点时, ...

  3. javascript实用代码片段

    持续积累中~ 拓展原型 Function.prototype.method = function(name, extend) { if(!this.prototype[name]) { this.pr ...

  4. vue.js 使用 vue-router 修改页面标题

    module.exports = { name: 'myComponent', data: {} route{ data: function(){ document.title = "页面标 ...

  5. Log4j slf4j 配置简单介绍

    Log4j slf4j 配置简单介绍 先借鉴一篇很好的文章 为什么要使用SLF4J而不是Log4J import org.slf4j.Logger; import org.slf4j.LoggerFa ...

  6. p6spy打印SQL

    一 Springboot项目 <dependency> <groupId>p6spy</groupId> <artifactId>p6spy</a ...

  7. MAVEN(一) 安装和环境变量配置

    一.安装步骤 1.安装maven之前先安装jdk,并配置好环境变量.确保已安装JDK,并 “JAVA_HOME” 变量已加入到 Windows 环境变量. 2.下载maven 进入官方网站下载网址如下 ...

  8. Python进阶函数

    一.函数的动态参数 之前我们说过了传参, 如果我们需要给一个函数传参, 而参数又是不确定的. 或者我给一个函数传很多参数, 我的形参就要写很多, 很麻烦, 怎么办呢. 我们可以考虑使用动态参数. 动态 ...

  9. nginx篇最初级用法之三种虚拟主机基于域名\基于端口\基于IP地址端口的虚拟主机

    在nginx中虚拟主机的类型与apache一样也有三种 1.基于域名的虚拟主机 2.基于端口的虚拟主机 3.基于IP地址端口的虚拟主机 在nginx配置文件中每一个server为一个虚拟主机如果需要多 ...

  10. NOIP模拟 16

    嗯我已经是个不折不扣的大辣鸡了 上次的T3就弃了,这次又弃 颓废到天际 T1 巨贪贪心算法 我就是一个只会背板子的大辣鸡 全裸的贪心看不出来,只会打板子 打板子,加特判,然后一无进展,原题不会,这就是 ...