小甲鱼:Python学习笔记002_数组_元组_字符串
创建普通数组
>>> member=["山东黄金","九阳股份"]
>>> member
['山东黄金', '九阳股份']
创建混合数组(数组中存放各种类型的数据)
>>> mix=[1,2.3,"520",["Haha"]]
>>> mix
[1, 2.3, '520', ['Haha']]
创建一个空数组
>>> empty=[]
>>> empty
[]
向数组中添加元素
append(), 追加一个元素到数组末尾
extend(), 用一个列表扩展另一个列表,也是将元素追加到末尾
insert(), 将一个元素插入到数组指定的位置
>>> member.append("深圳机场")
>>> len(member)
3
>>>
>>> member.extend(["招商轮船","平安银行"])
>>> member
['山东黄金', '九阳股份', '深圳机场', '招商轮船', '平安银行']
>>> len(member)
5
>>> member.insert(2,"沱牌舍得")
>>> member
['山东黄金', '九阳股份', '沱牌舍得', '深圳机场', '招商轮船', '平安银行']
>>>
获取数组中某个元素
>>> member[1]
'九阳股份'
>>>
>>> member[1] = "九阳股份-九阳神功"
>>> member
['山东黄金', '九阳股份-九阳神功', '沱牌舍得', '深圳机场', '招商轮船', '平安银行']
>>>
删除数组中的元素
remove(),删除指定名称元素, 如果指定的值不存在,会报错
del ,它是一个语句,不是方法,可以删除整个数组,也可以删除指定位置的元素
pop() ,从数组中删除最后一个元素,并返回这个值,也可以去除指定下标的元素
>>> member.remove("山东黄金")
>>> member
['九阳股份-九阳神功', '沱牌舍得', '深圳机场', '招商轮船', '平安银行']
>>> del member[1]
>>> member
['九阳股份-九阳神功', '深圳机场', '招商轮船', '平安银行']
>>>
>>>
>>> last = member.pop()
>>> member
['九阳股份-九阳神功', '深圳机场', '招商轮船']
>>> last
'平安银行'
>>> item=member.pop(1)
>>> member
['九阳股份-九阳神功', '招商轮船']
>>> item
'深圳机场'
>>>
列表分片: 可以实现一次性获取多个元素
>>> member[0:1] # 这个是拷贝出来的内容,原数组不变
['九阳股份-九阳神功']
>>> member
['九阳股份-九阳神功', '招商轮船']
>>>
>>> member[:1] #下标为1之前的都获取到
['九阳股份-九阳神功']
>>> member[1:] #从下标为1开始获取
['招商轮船']
>>> member[:] #获取整个数组
['九阳股份-九阳神功', '招商轮船']
>>>
两个冒号是每隔多少个取
[1::2],从下标1开始,每隔2个取值
[::2],从下标0开始,每隔2个取值
典型的就是取100以内的奇偶数
- # 列表切片例子
- # 查找列表当中‘yang’元素出现的位置
- name_list = ['huang','yang','zhang','li','qian','yang','hu','gao']
- first_pos = 0
- #统计‘yangw’出现的次数,根据次数循环找位置
- for i in range(name_list.count('yang')):
- #下一次查找的子列表
- new_list = name_list[first_pos:]
- # 下一次查找的位置
- next_pos = new_list.index('yang') + 1
- print ('Find Position:',first_pos + new_list.index('yang'))
- first_pos += next_pos
- '''
- #1 new_list = ['huang','yang','zhang','li','qian','yang','hu','gao']
- next_pos = 1 + 1
- first_pos = 0 + 2
- #2 new_list =['zhang','li','qian','yang','hu','gao']
- next_pos = 3 +1
- first_pos = 3 + 4
- '''
元素在不在数组中, 可以使用 in 或 not in
>>>
>>> "awei" not in member
True
>>> "招商轮船" in member
True
>>>
#指定元素出现的次数
>>> member.count("haha")
0
>>> member.count("招商轮船")
1
# 指定元素在数组中的位置
>>> member.index("招商轮船")
1
>>>
翻转数组
>>> member.reverse()
>>> member
['招商轮船', '九阳股份-九阳神功']
>>>
排序 sort ,它是一种归并排序
>>> member.sort()
>>> member
['九阳股份-九阳神功', '招商轮船']
>>>
>>> member.sort(reverse=True)
>>> member
['招商轮船', '九阳股份-九阳神功']
>>>
再次强调,
>>> member1=member[:] #是一种数组的拷贝
>>> member1
['招商轮船', '九阳股份-九阳神功']
>>> member2=member #不是拷贝,引用着同一个数组
>>> member2
['招商轮船', '九阳股份-九阳神功']
>>> member.sort()
>>> member1
['招商轮船', '九阳股份-九阳神功']
>>> member2
['九阳股份-九阳神功', '招商轮船']
>>>
元组tuple和数组是非常相近的,只是元组是不能被修改的
对于元组来说, 逗号是关键,小括号不一定非要有
>>> items=("九阳","大船","平安","黄金")
>>> items
('九阳', '大船', '平安', '黄金')
>>> items[2]
'平安'
>>> items[:1]
('九阳',)
>>> items[2:]
('平安', '黄金')
>>> items2=items[:]
>>> items2
('九阳', '大船', '平安', '黄金')
>>>
元组能不能变相改变呢,答案是可以的.
>>> items2 = items2[:1]+("白云山",)+items2[1:]
>>> items2
('九阳', '白云山', '大船', '平安', '黄金')
>>>
>>> str1= 'cxn ,wo yao cao ni !'
>>> str1
'cxn ,wo yao cao ni !'
>>> #取字符串的某个字符,直接跟数组一样,使用下标方式
>>> str1[1]
'x'
>>> #它也像元组一样,可以使用分片
>>> #它跟元组一样,也是不可改变的,我们可以利用切片的方式改变
>>> str2 = str1[:5]+"我插入进来了啊" + str1[5:]
>>> str2
'cxn ,我插入进来了啊wo yao cao ni !'
>>>
>>> #字符串的方式有很多
>>>
>>> # 1. 将字符串第一个字母改为大写
>>> str3="wo xiang ri nv ren !";
>>> str3.capitalize()
'Wo xiang ri nv ren !'
>>> str3
'wo xiang ri nv ren !'
>>>
>>> # 把整个字符串的所有字符改为小写
>>>
>>> str4=" I LIKE YOU"
>>> str4.casefold()
' i like you'
>>>
>>> #字符串居中,并使用空格填充至长度width的新字符串
>>>
>>> str4.center(20)
' I LIKE YOU '
>>>
>>> #返回sub在字符串中出现的次数,start end表示范围(可选)
>>> str4.count("e")
0
>>> # 对字符串进行编码
>>> str4="杨伟"
>>> str4.encode(encoding="utf-8",errors="strict")
b'\xe6\x9d\xa8\xe4\xbc\x9f'
>>>
>>> # 检查字符串是否以sub字符串结束,返回 True | False
>>>
>>> str4.endswith("伟")
True
>>> # endswith(sub [,start] [,end])方法
>>>
>>>
>>> #把字符串中的 tab符号(\t)转换为空格,如果不指定参数,默认空格是8
>>> #expandtabs([tabsize=8])
>>> str4="I\tlove\tyou"
>>> str4.expandtabs()
'I love you'
>>>
>>> #检测sub是否包含在字符串中,如果有返回索引值,否则返回-1
>>> #find(sub [,start] [,end])
>>> str4.find("you")
7
>>> #index(sub [,start][,end]),与find一样,不过如果sub不在sring中会抛异常
>>> str4.index("you")
7
>>> str4.index("ni")
Traceback (most recent call last):
File "<pyshell#55>", line 1, in <module>
str4.index("ni")
ValueError: substring not found
>>>
>>> # 有很多判断字符串的方法,以 is开头,这么不再说明
>>>
>>> # join(sub) 以字符串作为分隔符,插入到sub中所有的字符之间
>>> str4.join("123")
'1I\tlove\tyou2I\tlove\tyou3'
>>> # 使用join比起 字符串+的操作更节约内存开销
>>> a = ['a','b','c']
>>>
>>> b = ''.join(a)
>>> b
'abc'
>>>
>>> # lower()小写 , upper() 大写
>>> # ljust(width) 返回一个左对齐的字符串,并使用空格填充至width长度
>>>
>>> str4.ljust(20)
'I\tlove\tyou '
>>>
>>> #lstrip() 去掉字符串左边的所有空格
>>> str4=" 123456"
>>> str4
' 123456'
>>> str4.lstrip()
'123456'
>>>
>>> #rstrip() 去掉字符串右边的所有空格
>>>
>>> #partition(sub) 找到子字符串sub,把字符串分成3个元组(pre_sub,sub,fol_sub),r如果字符串中不包含sub,返回('原字符串',"","")
>>>
>>> str5=" ni hao ma ,qinqin"
>>> str5.partition("qin")
(' ni hao ma ,', 'qin', 'qin')
>>>
>>> # replace(old,new,[,count]) 字符串替换,如果指定count次,则替换不超过count次
>>>
>>> str5.replace("qin","exin")
' ni hao ma ,exinexin'
>>>
>>> ##有一些以r开始的方法,表示从右边开始查找等等,不再赘述
>>>
>>> #split(sep=None,maxsplit=-1) 不带参数默认以空格切分,返回数组
>>> str5.split()
['ni', 'hao', 'ma', ',qinqin']
>>> str5.split("q")
[' ni hao ma ,', 'in', 'in']
>>>
>>> # 去掉字符串前后空格
>>> #strip([chars]), chars参数可以定制删除的字符
>>>
>>> str5.strip();
'ni hao ma ,qinqin'
>>>
>>> #swapcase() 翻转字符串的大小写
>>>
>>># max(str) max(str) , 寻找字符串中的最大字符 min(str), 寻找字符串中的最小字符
>>> #字符串格式化
>>> #1,使用位置参数表示
>>> "{0} love {1}.{2}".format("I","fishc","com")
'I love fishc.com'
>>> #关键字参数 # 关键字参数必须指定谁的值是多少
>>> "{a} love {b}.{c}".format(a="I",b="fishc",c="com")
'I love fishc.com'
>>>
>>> # 位置参数和关键字参数也可以一起使用,但是位置参数必须在前面
>>>
>>> "{0} love {b}.{c}".format("I",b="fishc",c="com")
'I love fishc.com'
>>>
>>> #{}也是可以被转义的,它使用{}转义
>>>
>>> print("{{0}}".format("不打印"))
{0}
>>>
字符串格式化符号含义及转义字符含义
http://bbs.fishc.com/thread-39140-1-1.html
(出处: 鱼C论坛)
>>> # 字符串,数组,元组 都是可迭代对象
>>> # list() 是将可迭代的对象转换为数组
>>> a="12345"
>>> list(a)
['1', '2', '3', '4', '5']
>>> # tuple([iterable]),把一个可迭代对象转换为元组
>>> # str(obj) ,把一个对象转换为字符串
>>>
>>> # len(sub), 返回参数的长度
>>>
>>> len(a)
5
>>> #max(),返回序列或者参数集合中的最大值
>>> max(list(a))
'5'
>>> numbers=(1,4,-5,10)
>>> max(numbers)
10
>>> #min(), 与max()使用方式一样
>>> # 使用max()、min()方法,序列(数组、元组、字符串)的类型必须是一样的
>>>
>>> b=["1","2","3",4]
>>> max(b)
Traceback (most recent call last):
File "<pyshell#22>", line 1, in <module>
max(b)
TypeError: unorderable types: int() > str()
>>>
>>> b.pop()
4
>>> max(b)
'3'
>>> # sum(iterable[,start=0]) ,返回序列iterate和可选参数start的总和
>>>
>>> # 迭代器中也必须是相同类型,才能做相加操作
>>>
>>>
>>> # sorted(),排序
>>> sorted(numbers)
[-5, 1, 4, 10]
>>> # reversed() ,它返回的是迭代器对象
>>> reversed(numbers)
<reversed object at 0x02168ED0>
>>> list(reversed(numbers))
[10, -5, 4, 1]
>>>
>>> # enumerate(),枚举列表,结果是键值对形式组成的数组
>>>
>>> enumerate(numbers)
<enumerate object at 0x021710D0>
>>> list(enumerate(numbers))
[(0, 1), (1, 4), (2, -5), (3, 10)]
>>>
>>> # zip()方法,还是看例子就明白了
>>> a1 = [1,2,3,4,5,6]
>>> a2 = [3,4,5,6]
>>> zip(a1,a2)
<zip object at 0x021711C0>
>>> list(zip(a1,a2))
[(1, 3), (2, 4), (3, 5), (4, 6)]
>>>
元组与列表的区别:
元组是不可改变的,列表是可以改变的;
元组和列表之间是可以相互转换的, 元组转成列表使用 list(), 列表转成元组tuple()
元组一般就使用两个方法 index()和count() 方法.
小甲鱼:Python学习笔记002_数组_元组_字符串的更多相关文章
- python学习笔记(2)--列表、元组、字符串、字典、集合、文件、字符编码
本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1.列表和元组的操作 列表是我们以后最长用的数据类型之一,通过列表可以最方便的对数据实现最方便的存储.修改等操作 定 ...
- 小甲鱼Python学习笔记
一 isdigit()True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字False: 汉字数字Error: 无 isdecimal()True: Unicode数字, ...
- python自动化测试学习笔记-2-字典、元组、字符串方法
一.字典 Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割, ...
- python学习笔记02--列表和元组
一.简介 数据结构是通过某种方式组织在一起的数据元素的集合. 序列是python中最基本的数据结构,python中包含6种内建的序列,分别是列表.元组.字符串.Unicode字符串.buffer对象和 ...
- 小甲鱼汇编语言学习笔记——day03
手动编译并执行第一个汇编程序过程: 1.用notepad++写一个简单的汇编程序(文件命名为:1.asm): assume cs:abc abc segment mov ax, 2 add ax, a ...
- 小甲鱼汇编语言学习笔记——day02
1.8086CPU不支持将数据直接送入段寄存器,需要按照下面方式:数据——>通用寄存器——>段寄存器. 2.mov指令的几种形式: mov 寄存器,数据 mov 寄存器,寄存器 mov 寄 ...
- 小甲鱼汇编语言学习笔记——day01
1.计算机CPU由如下三部分组成(如下图):运算器.控制器.寄存器. 2.寄存器:简单说,就是用来存储数据的器件,类似内存,不过这个是CPU专用,跟内存不一样. 8086CPU里,寄存器总共有14个, ...
- Python学习笔记_week2_列表、元组、字典、字符串、文件、i编码
一. 列表.元组 names=["A","B","C","D"] print(names) print(names[0] ...
- python学习笔记(二)— 元组(tuple)
Python 的元组与列表类似,不同之处在于元组的元素不能修改:元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可: tup1 = ('a', 'b', 19 ...
随机推荐
- Eclipse 安装插件(aptana、svn 、git、Java EE、JSHint)
转发9 1.安装 aptana 插件: * 依次点击:Help -> Install New Software... -> Add * 输入:http://download.aptan ...
- Nginx入门案例(Mac版)
Nginx(engine x)是一个轻量级.高性能的Web和反向代理服务器,也是一个IMAP.POP3和SMTP服务器,并且安装十分简单,配置文件非常简洁,启动特别容易,运行十分稳定,几乎可以做到7* ...
- pickle模块的使用python3
Python的pickle模块实现了基本的数据序列和反序列化.通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储:通过pickle模块的反序列化操作,我们能够从文件 ...
- 从yum提示空间不足到根分区扩容
记录一次安装软件的报错 --1261065212@qq.com 1.系统版本(VMware 虚拟机) [root@ansible-admin ~]# cat /etc/redhat-r ...
- javascript基础进阶——执行环境及作用域链
概念 执行环境 执行环境定义了变量或函数有权访问的其他函数,决定了他们各自的行为.每个执行环境都有一个与之关联的变量对象. 变量对象 环境中定义的所有变量和函数都保存在这个对象中. 全局执行环境 全局 ...
- MariaDB体验1----数据库安装
之前一直都是使用的微软Sql Server数据库,现在在学习数据分析,要用到mysql.刚好公司在进行云架构升级,数据库选型为MariaDB,就顺势安装体验了一把MariaDB.这里记录一下学习过程. ...
- flume 搭建
Flume使用 1安装及修改初始环境 安装见:http://blog.csdn.net/qianshangding0708/article/details/48088611 配置在conf目录下配置如 ...
- js,jQuery实现可关闭悬浮框广告特效,兼容(谷歌,火狐,Ie)
注意不能直接用close()命名关闭广告函数,避免冲突. javascript实现方法: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tr ...
- C++中4个类型转换相关的关键字/特点/应用场合
reinterpret_cast是C++里面的一个强制类型转换符,能够将任何的指针类型转换成其他的任何指针类型:能够将任何的整数类型转换成指针类型,反之亦然:滥用reinterpret_cast强制类 ...
- oracle 索引失效的情况分析
见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp54 1) 没有查询条件,或者查询条件没有建立索引 2) 在查询条件上 ...