2019-03-05-day004-列表操作
01 昨日内容回顾
bool int str 三者转换:pass
int
二进制与十进制之间的转换:
二进制 -------》 十进制
0000 0100 1*2**2
str:
msg = 'python20期'
msg[:3]
msg[:6]
msg[-1]
msg[:5:2]
msg[-1:-4:-1] # 反向取值一定要加反向步长-1
msg[:]
msg[::]
常用操作方法:
captilze(): 首字母大写
swapcase():大小写反转
upper() : 全部大写
lower(): 全部小写
find:通过元素找索引,找到第一个就返回,可以切片,找不到返回-1.
index:通过元素找索引,找到第一个就返回,可以切片,找不到报错.
replace(old,new,count): 替换。
center: 居中
count:计算某个元素出现的次数。
split:
str ---> list
分割,默认按照空格进行分割,可以指定字符。
可以设置分割次数。
rsplit。
strip:默认去除字符串两边的空格,制表符,换行符。
可以指定字符。
lstrip rstrip
format:格式化输出。
isdigit():判断字符串是否全部由数字组成。
isalpha():判断字符串是否全部由字母组成。
isalnum(): 判断字符串是否全部由字母或者数字组成。
startswith,endswith:
title:
join(): iterable
'*'.join(iterable)
len:获取字符串字符的数量,长度。
02 作业讲解
03 初识列表
why:
字符串的缺点:
1,只能存储少量的数据。
2,s = '1True[1,2,3]' 无论索引,切片 获取的都是字符串类型,单一,转化成它原来的类型还需要再一步转换。
int(s[0])
what:
python基础数据类型之一:list列表。
列表是以中括号组成,每个元素以逗号隔开的,容器型数据类型。
[1, '太白', [1,2,3],True, {'name': 'alex'}, (22,33)]
其它语言:js语言中叫数组。
列表是一个有序的可以存储大量的数据的数据类型。
how:
两个方面:
1 列表的切片
2 列表的常用操作
where:
程序中如果需要你构建一个容器型数据并且是按照顺序存储的大量的数据,你要用到列表。
04 列表的切片
列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,
比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,
而且他里面可以存放各种数据类型比如:
li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}]
列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,
32位python的限制是 536870912 个元素,
64位python的限制是 1152921504606846975 个元素。
而且列表是有序的,有索引值,可切片,方便取值。
增
li = [1,'a','b',2,3,'a']
li.insert(0,55) #按照索引去增加
print(li)
li.append('aaa') #增加到最后
li.append([1,2,3]) #增加到最后
print(li)
li.extend(['q,a,w']) #迭代的去增
li.extend(['q,a,w','aaa'])
li.extend('a')
li.extend('abc')
li.extend('a,b,c')
print(li)
删
l1 = li.pop(1) #按照位置去删除,有返回值
print(l1)
del li[1:3] #按照位置去删除,也可切片删除没有返回值。
print(li)
li.remove('a') #按照元素去删除
print(li)
li.clear() #清空列表
改
li = [1,'a','b',2,3,'a']
li[1] = 'dfasdfas'
print(li)
li[1:3] = ['a','b']
print(li)
查
切片去查,或者循环去查。(index可以查元素)
05 列表的常用操作
count(数)(方法统计某个元素在列表中出现的次数)。
a = ["q","w","q","r","t","y"]
print(a.count("q"))
index(方法用于从列表中找出某个值第一个匹配项的索引位置)
a = ["q","w","r","t","y"]
print(a.index("r"))
sort (方法用于在原位置对列表进行排序)。
a = [2,1,3,4,5]
a.sort()# 他没有返回值,所以只能打印a
print(a)
reverse (方法将列表中的元素反向存放)。
a = [2,1,3,4,5]
a.reverse()#他也没有返回值,所以只能打印a
print(a)
06 列表的嵌套
列表的总结:
python常用的数据类型,工作中,都是涉及到嵌套的列表居多,今天必须要将增删改查其他操作全部记住。
下午作业一定要回嵌套的作业。
['a','b',['a','b']]
07 元祖
只读列表。
是python中基础数据类型之一,容器型数据类型,存储大量的数据。
(),里面的元素以,隔开的数据类型。
(1, '太白', [1,2,3],True, {'name': 'alex'}, (22,33))
其他语言中,没有元组的概念。
元组是不可以进行修改的,只能查询。
元组中存储的都是重要的数据,个人信息等等。
应用:
如果你想存储一些重要的数据,这些数据只读,不能修改,那么你就放到元组中。
08 range
内置函数,python给你提供的一个功能。
将range视为:可控制范围的数字列表。
下午安排:
做总结,将今天的代码敲3~5遍。
做作业(升级题可以放到最后做)。
$#@!~$作预习:
字典dict。
set(有时间就讲)了解。
补充知识点:
1.查看一个类中所有的可用方法:
[x for x in dir(str) if not x.startswith('_')]
sorted([x for x in dir(str) if not x.startswith('_')])
2.str类中find,index的区别
使用 find 如果找不到内容会返回 -1
使用 index如果找不到内容会报错
3.判断开始或者结束字符串的注意事项:
startswith:
endswith:
判断一个文件,是否是jpg格式的图片?
filename后缀有可能大写和小写混用,所以要先统一下。统一成大写或者小写都可以。
伪代码:
if filename.lower().endswith('.jpg'):
ok
4.切片操作总结:
格式:
[起始值:结束值:顺序和步长]
1.切片的顺序取决于最后一个参数,正数:正序;负数:倒序,默认是正序
2.正序时起始值在结束值右侧,或者倒序时起始值在结束值左侧,都会返回空字符串。
s = 'Hello'
s[3:2:2] -> ''
s[1:3:-2] -> ''
即:切片不会跨越字符串的首尾。
3.正数索引和负数索引可以混用。只要能指到正确的元素即可。
5.总结str类中涉及到从右侧开始的操作:
rfind 从右侧查找
rindex 从右侧查找
rjust 从右侧对齐
rstrip 从右侧删除空白字符
rsplit 从右侧切分
rpartition 从右侧分组
2019-03-05-day004-列表操作的更多相关文章
- [2019.03.16]使用DOM操作函数和CSS选择器来针对已有的HTML进行只凭JS的改动
刚入职的时候看到公司用的HTML日志生成工具附带的Panel,工具不够用,找个Fail还要找半天,于是自己琢磨着添砖加瓦.以前也是个半吊子前端工程师,现在可倒好,想要改页面却连页面生成的模板在哪里都不 ...
- 2019.06.05 ABAP EXCEL 操作类代码 OLE方式(模板下载,excel上传,内表下载)
一般使用标准的excel导入方法9999行,修改了标准的excel导入FM 整合出类:excel的 模板下载,excel上传,ALV内表下载功能. 在项目一开始可以SE24创建一个类来供整体开发使用, ...
- 03: Django Model数据库操作
目录:Django其他篇 01:Django基础篇 02:Django进阶篇 03:Django数据库操作--->Model 04: Form 验证用户数据 & 生成html 05:Mo ...
- [2019.03.25]Linux中的查找
TMUX天下第一 全世界所有用CLI Linux的人都应该用TMUX,我爱它! ======================== 以下是正文 ======================== Linu ...
- 2019.03.03 - Linux搭建go语言交叉环境
编译GO 1.6版本以上的需要依赖GO 1.4版本的二进制,并且需要把GOROOT_BOOTSTRAP的路径设置为1.4版本GO的根目录,这样它的bin目录就可以直接使用到1.4版本的GO 搭建go语 ...
- react实例之todo,做一个实时响应的列表操作
react实例之todo, 做一个实时响应的列表操作 在所有的mvc框架中,最常见的例子不是hello world,而是todo,由于reactjs的简单性,在不引用flux和redux的情况下,我们 ...
- TCL语言笔记:TCL中的列表操作
一.介绍 列表则是具有特殊解释的字符串.Tcl 中的列表操作和其它 Tcl 命令一样具有相同的结构.列表可应用在诸如 foreach 这样的以列表为变元的循环命令中,也应于构建 eval 命令的延迟命 ...
- Python 基础篇:字符串、列表操作
字符串操作 判断是否为数字 string = "200" string.isdigit() >>false 待完善.. 列表操作 列表是我们最以后最常用的数据类型之一, ...
- 征服 Redis + Jedis + Spring (三)—— 列表操作【转】
一开始以为Spring下操作哈希表,列表,真就是那么土.恍惚间发现“stringRedisTemplate.opsForList()”的强大,抓紧时间恶补下. 相关链接: 征服 Redis 征服 Re ...
- python学习笔记——列表操作
python列表操作——增 append:追加一条数据到列表的最后 name = ["Zhangsan","XiongDa","Lisi"] ...
随机推荐
- Hybrid APP架构设计思路
通讯 作为一种跨语言开发模式,通讯层是Hybrid架构首先应该考虑和设计的,往后所有的逻辑都是基于通讯层展开. Native(以Android为例)和H5通讯,基本原理: Android调用H5:通过 ...
- python 小练习2
给你一个整数列表L,判断L中是否存在相同的数字, 若存在,输出YES,否则输出NO.解1l=[]for i in L: if L.count(i) != 1: print('YES ...
- 338. Counting Bits_比特位计数_简单动态规划
https://leetcode.com/problems/counting-bits/ 这是初步了解动态规划后做的第一道题,体验还不错... 看完题目要求后,写出前10个数的二进制数,发现了以下规律 ...
- python目录和文件操作
一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法. 要操作目录,必须引入os模块 import os1.得到当前工作目录,即当前Python脚本工作的目录路径: os ...
- Android AES加密报错处理:javax.crypto.IllegalBlockSizeException: error:1e00007b:Cipher functions:OPENSSL_internal:WRONG_FINAL_BLOCK_LENGTH
一.问题说明 今天写AES加/解密功能的apk,设想是四个控件(测试用的,界面丑这种东西请忽略) 一个编缉框----用于输入要加密的字符串 一个文本框----用于输出加密后的字符串,和加密后点击解密按 ...
- linux重命名所有find查找到的文件/文件夹
一.说明 在某些时候我们想要将所有find命令查找到的文件或文件夹全都重命名,比如都加上.bak后辍 二.操作命令 find /dir -name "*pattern*" -exe ...
- linux查看主机最后启动时间
1.使用who查看最后重启时间 who -b 2.使用last查看近几次重启时间 last reboot 第一条即为最后一次重启日期 last其实是查询用户的登录记录,reboot是一个伪用户:也就是 ...
- ELementUI 树形控件tree 获取子节点同时获取半选择状态的父节点ID
使用element-ui tree树形控件的时候,在选择一个子节点后,使用getCheckedKeys 后,发现只能返回子节点的ID,但是其父节点ID没有返回. 解决办法有三种: 1.element ...
- Generative Model 与 Discriminative Model
[摘要] - 生成模型(Generative Model) :无穷样本==>概率密度模型 = 产生模型==>预测 - 判别模型(Discriminative Model): ...
- mysql sql_mode=only_full_group_by问题?
视图查询的时候本地数据库报错: 解决办法: 1.查看sql_mode select @@global.sql_mode STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_Z ...