python-list操作
字符串取值不好取
数组,存在编号,易于取值,(list array)
1、list 定义:name=[] 由中括号定义数组,例如name=['jyj','ws','jyt','js']
2、list取值: 下标 角标 索引, 从0 开始,最后一个元素下标为-1,即左边从0开始,右边从-1开始,
例如:
name=['jyj','ws','jyt','js']
print(name[2]) #即可取出第2个元素“jyt”
2即为 下标、角标、索引,只是不同叫法
只要知道下标即可取到对应值
3、增删改查
增加:
a、 append() 在list 末尾进行增加; 例如:name.appentd('贾宝玉') #即在list 末尾增加一个值
b、insert() 在指定位置增加元素,例如name.insert(0,'薛宝钗') #即在第一个位置添加,如果下标不存在时,则在最后插入,当下标=-1时 ,结果会错误
修改:
a、name[0]='Alex' #想改哪个值时,即找到对应值下标,直接赋值修改即可
查看:
print(name) #查看全部
print(name[0]) #查看指定元素
print(name.count('jyj')) #查看由几个jyj
print(name.index('')) #查找这个元素的下标,如果多个返回第一个,不存的元素时会报错
删除:
name.pop() #默认删除最后一个元素,传值为下标,如果指定下标,则删除指定元素,且指定下标必须存在,否则报错,pop删除时存在返回值,即把删除的返回
name.remove(‘’) #默认删除指定元素,传值为元素,多个重复元素时只能删除第一个,删除时不存在返回值,remove容易造成循环错乱
del name[0] #删除哪个 则输入下标
name.clear() #清空整个list
反转:
name.reverse() #反转整个list
排序:
name.sort() #排序,默认为升序,如果降序则name.sort(reverse=True)
4、多维数组
all_name=[123,456,[1,4,8]] 二维数组
three=['we','we','cd',['dc',['nh','mn']]] 三维数组
多维数组取值:print(three[3][1][0]) 即可取到nh
all_name.extend(three) 合并两个数组
5、list循环和切片
循环:b=['haha','hhehe','heihei']
for bi in b:
print(bi) #如果直接for循环一个list时,则 每次循环的值都是这个list的元素
切片: list 取值方法,从某下标取到另一个下标;切片同样适用于字符串,注意的是 切片顾头不顾尾,即包含开头步包含结尾
例如: name=['jyj','ws','jyt','js']
存在步长: print(name[s:e:n]) 即从下标s开始 逢n取1,截止到下标e的元素结束;当s为空则默认从头开始取,n为空则默认逢1取1,,步长是正数从左往右取(下标为正数),为负数则从右往左取(则下标也应该是负数)
不存在步长: print(name[s:e]) 即从下标s开始取到下标e元素结束,但是顾头部顾尾,s为空时,默认从头开始,e为空则默认取到结尾
news_name=[]
news_nage=name[2:3]
切片同样适用于字符串,字符串也存在下标:
例如:title='你好吗,哈哈'
print(title[3])
enumerate #可以同时取到下标和值
例如:
for i,t in enumerate(hh):
print('%s: %s'%(i,t))
6、小练习
注册的小功能练习。死循环 一直注册, 如果username,已经存在的话 需要提示usernames=[]
while True:
username=input('请输入用户名:')
password=input('请输入密码')
if usernames.count(username)==0: #判断字符串在list的个数
print('注册成功')
usernames.append(username)
else:
print('该用户名已存在')
7、非空即真,非零即真
a='' #空
a=0 #零
if a:
print('true')
else:
print('false')
8、深浅拷贝
li2=li[:] #深拷贝,内存地址发生变化
il2=li #浅拷贝,这么赋值的分配的内存地址与li一样所以删除li也会变化。
9、列表推导式:可简化代码
#列表推导式
nums=[0,1,3,4,5,6,7] #把这个元素变为字符串形式['0','1',....]
new_nums=[str(n)for n in nums]
print(new_nums)
python-list操作的更多相关文章
- Python中操作mysql的pymysql模块详解
Python中操作mysql的pymysql模块详解 前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持 ...
- Python 字符串操作
Python 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) 去空格及特殊符号 s.strip() .lstrip() .rstrip(',') 复制字符 ...
- Python目录操作
Python目录操作 os和os.path模块os.listdir(dirname):列出dirname下的目录和文件os.getcwd():获得当前工作目录os.curdir:返回但前目录('.') ...
- Python基础篇【第2篇】: Python文件操作
Python文件操作 在Python中一个文件,就是一个操作对象,通过不同属性即可对文件进行各种操作.Python中提供了许多的内置函数和方法能够对文件进行基本操作. Python对文件的操作概括来说 ...
- Python list 操作
创建列表sample_list = ['a',1,('a','b')] Python 列表操作sample_list = ['a','b',0,1,3] 得到列表中的某一个值value_start = ...
- Python Mongo操作
# -*- coding: utf-8 -*- ''' Python Mongo操作Demo Done: ''' from pymongo import MongoClient conn = None ...
- python数据库操作之pymysql模块和sqlalchemy模块(项目必备)
pymysql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同. 1.下载安装 pip3 install pymysql 2.操作数据库 (1).执行sql #! ...
- [Python学习笔记][第七章Python文件操作]
2016/1/30学习内容 第七章 Python文件操作 文本文件 文本文件存储的是常规字符串,通常每行以换行符'\n'结尾. 二进制文件 二进制文件把对象内容以字节串(bytes)进行存储,无法用笔 ...
- python excel操作总结
1.openpyxl包的导入 Dos命令行输入 pip install openpyxl==2.3.3 这里注意一下openpyxl包的版本问题 版本装的太高有很多api不支持了,所以笔者这里用的是2 ...
- python/ORM操作详解
一.python/ORM操作详解 ===================增==================== models.UserInfo.objects.create(title='alex ...
随机推荐
- 20175226 2018-2019-2《java程序设计》结对编程-四则运算(第二周-阶段总结)
需求分析(描述自己对需求的理解,以及后续扩展的可能性) 实现一个命令行程序,要求: 自动生成小学四则运算题目(加,减,乘,除) 支持整数 支持多运算符(比如生成包含100个运算符的题目) 支持真分数 ...
- Qt-c++桌面编程报错:qt.qpa.plugin: Could not find the Qt platform plugin "windows" in "",已解决
语言:c++ 编译库:Qt GUI,qt5.12.1 软件类型:Qt application,qt桌面软件 运行平台:window 10 ?按照[https://www.devbean.net/201 ...
- ffmypeg 视频处理类库使用方法
(经常用到ffmpeg 做一些视频数据的处理转换等,用来做测试,今天总结了一下,参考了网上部分朋友的经验,一起在这里汇总了一下,有需要的朋友可以收藏测试一下,有问题欢迎在下面回帖交流,谢谢;by te ...
- 快捷键打开Generate
在eclipse下有覆盖toString.hashcode.setter.getter等功能. 在intelj idea中,同样具有类似的功能. 按下键盘上的alt+insert键,就会弹出gener ...
- 一个Tomcat下部署两个,甚至多个项目
是的這是我粘過來的 Tomcat目录下的结构如图: 第一步:Tomcat默认空间webapps,中已经存在一个项目了,此时要增加一个项目运行可以将原本webapps目录copa一份, 改名为webap ...
- js 利用canvas + flv.js实现视频流 截屏 、本地下载功能实现,兼容火狐,谷歌;canvas截屏跨域问题,无音频视频流加载不显示问题
项目:物联网监控项目----后台视频流管理(前端实现视频截屏功能) 本文就不同视频源分情况展示: 1 本地视频(项目同目录视频)截屏(canvas.getContext("2d).drawI ...
- 64位windows8.1下安装 ImageMagick 总结
1. 安装 ImageMagick-6.7.7-Q16-x64 下载地址:http://ftp.sunet.se/pub/multimedia/graphics/ImageMagick/binari ...
- 原生JS插件(超详细)
作为一个前端er,如果不会写一个小插件,都不好意思说自己是混前端界的.写还不能依赖jquery之类的工具库,否则装得不够高端.那么,如何才能装起来让自己看起来逼格更高呢?当然是利用js纯原生的写法啦. ...
- canvas20181114
1. canvas 描边.填充.画线.闭合路径.非零环绕原则 <!DOCTYPE html> <html lang="en"> <head> & ...
- 通过创建制定版本react-native项目解决“Unable to resolve module `AccessibilityInfo` ”的问题
react-native init MyApp --version 0.55.4 注:不能将--version简写成-v