python之路(列表,元组)
列表
list:基础数据类型之一,可以索引,切片,步长,切片+步长可以增删改查,可迭代,可嵌套字典,元组,列表
一、索引,切片,步长
list01 = [1,2,3,'eric','west']
1.索引
fz = list01[0]
print(fz)
result:1
反向查找
print(list01.index(1))
result:2
2.切片
fz = list01[:3]
result:[1,2,3]
fz = list01[1:4]
result:[2,3,'eric']
3.步长
fz = list01[::2]
result:[1,3,'west']
fz = list01[1:4:2]
result:[2,'eric']
fz = list01[-1:1:-2]
result:['west',3]
二、增删改查
1.增
append:再尾部增加单个元素
list01.append('xixi')
result:[1, 2, 3, 'eric', 'west', 'xixi']
extend:迭代增加
list01.extend('xixi')
result:[1, 2, 3, 'eric', 'west', 'x', 'i', 'x', 'i']
list01.extend(['xixi','love'])
result:[1, 2, 3, 'eric', 'west', 'xixi', 'love']
insert:指定位置增加元素
list.insert(1,'abby')
2.删
pop:按照索引删除元素,并且有返回值
list01.pop(1)
result:[1, 3, 'eric', 'west']
remove:按照元素删除
list01.remove('eric')
result:[1,2,3,'west']
clear:清空
list01.clear()
result:[]
del:可以按照索引删除,切片删除,内存级别删除整个列表
del list01[0]
result:[2,3,'eric','west']
del list01[3:]
result:[1,2,3]
del list01
result:name 'list01' is not defined
3.改
按索引改
list[2]='abby'
result:[1, 2, 'abby', 'eric', 'west']
按切片改
list[:2]='xi'
result:['x', 'i', 3, 'eric', 'west']
按切片+步长一一对应
list01[:3:2]='xi'
result:['x', 2, 'i', 'eric', 'west']
4.查
for循环
for i in list01:
print(i)
三、其他方法
查询总个数:print(len(list01))
查询某个元素出现次数:print(list01.count('eric'))
排序:
sort(从小到大):
list02 = [2,3,4,9,8,5,6,7]
list02.sort()
print(list02)
result:[2, 3, 4, 5, 6, 7, 8, 9]
sort(从大到小):
list02.sort(reverse=True)
print(list02)
result:[9, 8, 7, 6, 5, 4, 3, 2]
反转:
list02.reverse()
print(list02)
result:[7, 6, 5, 8, 9, 4, 3, 2]
列表与列表可以相加
l1 = [1,2,3]
l2 = ['alex','wusir']
l3 = l1 + l2
print(l3)
result:[1, 2, 3, 'alex', 'wusir']
应用演示:
l1 = [11, 22, 33, 44, 55, 66, 77, 88]
将列表中索引为奇数的元素,全部删除
方法一:切片+步长删除
del l1[1::2]
print(l1)
result:[11, 33, 55, 77]
方法二:
for i in range(len(l1)):
print(l1)
print(i)
if i % 2 == 1:
l1.pop(i)
print(l1)
print(i)
print(l1)
result:pop index out of range
在循环一个列表时,如果对列表中的某些元素进行删除,那么此元素后面的所有元素就会向前进一位,他们的索引就会发生变化。
所以,在循环一个列表时,最好不要对此列表进行改变大小(增删)的操作。
元组
tuple:基础数据类型之一,可以索引,切片,步长,切片+步长,只可以查,可迭代,可嵌套字典,元组,列表,嵌套列表字典可以修改
list01 = (1,2,3,'eric','west')
一、索引,切片,步长
1.索引
print(list01[0])
result:1
反向查找:
print(list01.index(1))
result:0
2.切片
fz=list01[1:3]
result:(2,3)
3.切片+步长
fz=list01[1::2]
result:(2,'eric')
二、查
for循环
for i in list01:
print(i)
其他:
字符串:
upper lower 变大写,变小写
strip:默认去除去除首位的空格,换行符,制表符,lstrip()去首部,rstrip()去尾部,strip(元素)可指定去除元素
startswith endswith 判断以...开头,结尾 一般用于if
find 通过元素找索引,找不到返回-1
replace 替换 (old,new,次数)
captilize() 首字母大写,其余的变成小写。
center():居中可设置填充物。
swapcase():大小写反转
isalnum(): 全部由字母或数字组成。
isalpha():全部由字母组成
isdigit(): 判断字符串是否全部有数字组成
len(): 统计字符串的字符的个数
title: 每个非字母隔开的内容的首字母大写
split:
'alex wusir'.split() ---> ['alex','wusir']:可以指定分隔符。
' alex wusir'.split('') ---> ['','alex','wusir']:可以指定分割次数。
join:'_'.join(interable)
如果元组中只有一个数据,且没有逗号,则该 '元组' 与里面的数据的数据类型相同。
tu1 = (1,)
tu2 = ('alex')
tu3 = ([1,2,3],)
print(tu1,type(tu1))
print(tu2,type(tu2))
print(tu3,type(tu3))
result:
(1,) <class 'tuple'>
alex <class 'str'>
([1, 2, 3],) <class 'tuple'>
python之路(列表,元组)的更多相关文章
- python基础(五)列表,元组,集合
列表 在python中是由数个有序的元素组成的数据结构,每一个元素对应一个index索引来隐式标注元素在列表中的位置.是python中最常用的一种数据类型.需要注意的是列表中可以有重复相同的数据. 列 ...
- 百万年薪python之路 -- 列表
1.列表(list)-- list关键字 列表是python的基础数据类型之一,有顺序,可以切片方便取值,它是以[ ]括起来, 每个元素用' , '隔开而且可以存放各种数据类型(字符串,数字,布尔值, ...
- python之路-列表、元组、range
一 . 列表 # 列表的定义 列表就是能装对象的对象 在python中用[ ]来描述列表,内部元素用逗号隔开,对数据类型没有要求 索引和切片 lst = ["天龙八部", &quo ...
- python记录_day04 列表 元组
今日主要内容: 列表 和 元组 列表 一.列表介绍 列表是一种能存储大量数据的数据结构,是能装对象的对象.由方括号 [] 括起来,能放任意类型的数据,数据之间用逗号隔开 列表存储数据是有顺序的 二.增 ...
- Python之路----列表推导式和生成器的表达式
列表推导式 egg_list=['鸡蛋%s'%i for i in range(10)] print(egg_list) 列表推导式 推导过程 egg_list = [] for i in range ...
- python 序列结构-列表,元组,字典,字符串,集合
列表 """ name_list.__add__( name_list.__getslice__( name_list.__new__( name_list.append ...
- python 学习分享-列表元组篇
1 列表(list) 下面的代码就是把一个变量赋值为列表 a=['laay','aay','ay','y'] 列表中存在索引,可以通过索引来访问列表中的值,也可以通过索引完成切片 print(a[0] ...
- python学习之列表元组,字典
list:元素性质可以不一致,元素还可以是list,可类似数组方法进行索引(也可以用负数索引,-1表示最后一个),可用.append('')进行动态增加,可用pop()删除最后一个或者pop(i)删除 ...
- Python初学笔记列表&元组&字典
一.从键盘获取 1 print("请输入") 2 username = input("姓名:") 3 age = input("年龄:") ...
随机推荐
- Elemetary OS deepin-wine 版 微信 和 企业微信 输入框字体显示异常解决
Elemetary OS deepin-wine 版 微信 和 企业微信 输入框字体显示异常解决 最近体验了Elementary OS 这个系统, 话说我之前都是用的Manjora 的各个桌面版, 突 ...
- 必知必会之Lambda表达式
Java是一门强大的面向对象的语言,除了8种基本的数据类型,其他一切皆为对象.因此,在Java中定义函数或方法都离不开对象,也就意味着很难直接将方法或函数像参数一样传递,而Java8中的Lambda表 ...
- [redis读书笔记] 第一部分 数据结构与对象 链表
二 链表 1.链表节点使用ListNode结构,是一个双向的链表,同时,还实现了一个控制所有ListNode的结构list: typedef struct listNode { // 前置节点 str ...
- Android 6.0(棉花糖)新特性
1.支持4K显示 Android 6.0本身已经支持4K显示,会通过一定优化形式使4K内容更加清晰. 2. 启动验证 (更完整的应用权限管理) Android 6.0在开机时会自动运行验证代码,检测设 ...
- delphi制作res文件
第一步:将brcc32.exe拷贝到某个目录,如“res文件”第二步:制作rc文件1.在“res文件”中新建一个文本文件resources.rc:2.文本文件中每一行写一个资源,资源格式为:资源标识名 ...
- Keras深度学习框架之损失函数
一.损失函数的使用 损失函数[也称目标函数或优化评分函数]是编译模型时所需的两个参数之一. model.compile(loss='mean_squared_error', optimizer='sg ...
- python 解压、复制、删除 文件
一.python3解压文件 1.python 解压文件代码示例 如下代码主要实现zip.rar.tar.tar.gz四种格式的压缩文件的解压 def unzip_file(src_file, dst_ ...
- 学习MVC框架,处理分页和删除分页转跳的问题
第一次写博客,文采不好请多见谅,这里主要是写一下,自己是如何处理分页问题,我想初学者也遇到过这个问题. 分页的情况下,编辑信息有返回和编辑2个按钮,操作后都是应该返回原分页界面,使用TempData把 ...
- Arm开发板+Qt学习之路-论can网通讯受log日志的影响
日期:2016-05-25 最近开发过程中发现一个问题,使用两个开发板进行can网通讯,按照经验来说,通讯的速度应该是很快的,项目中将接口的超时时间设置为100ms,在某种情境下,会在短时间内发送多次 ...
- Mumbai:1 Vulnhub Walkthrough
靶机地址: https://www.vulnhub.com/entry/mumbai-1,372/ 主机探测: 主机端口扫描: FTP 下载Note文件 TODO: Move these multip ...