创建普通数组

>>> 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_数组_元组_字符串的更多相关文章

  1. python学习笔记(2)--列表、元组、字符串、字典、集合、文件、字符编码

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1.列表和元组的操作 列表是我们以后最长用的数据类型之一,通过列表可以最方便的对数据实现最方便的存储.修改等操作 定 ...

  2. 小甲鱼Python学习笔记

    一 isdigit()True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字False: 汉字数字Error: 无 isdecimal()True: Unicode数字, ...

  3. python自动化测试学习笔记-2-字典、元组、字符串方法

    一.字典 Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割, ...

  4. python学习笔记02--列表和元组

    一.简介 数据结构是通过某种方式组织在一起的数据元素的集合. 序列是python中最基本的数据结构,python中包含6种内建的序列,分别是列表.元组.字符串.Unicode字符串.buffer对象和 ...

  5. 小甲鱼汇编语言学习笔记——day03

    手动编译并执行第一个汇编程序过程: 1.用notepad++写一个简单的汇编程序(文件命名为:1.asm): assume cs:abc abc segment mov ax, 2 add ax, a ...

  6. 小甲鱼汇编语言学习笔记——day02

    1.8086CPU不支持将数据直接送入段寄存器,需要按照下面方式:数据——>通用寄存器——>段寄存器. 2.mov指令的几种形式: mov 寄存器,数据 mov 寄存器,寄存器 mov 寄 ...

  7. 小甲鱼汇编语言学习笔记——day01

    1.计算机CPU由如下三部分组成(如下图):运算器.控制器.寄存器. 2.寄存器:简单说,就是用来存储数据的器件,类似内存,不过这个是CPU专用,跟内存不一样. 8086CPU里,寄存器总共有14个, ...

  8. Python学习笔记_week2_列表、元组、字典、字符串、文件、i编码

    一. 列表.元组 names=["A","B","C","D"] print(names) print(names[0] ...

  9. python学习笔记(二)— 元组(tuple)

    Python 的元组与列表类似,不同之处在于元组的元素不能修改:元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可: tup1 = ('a', 'b', 19 ...

随机推荐

  1. canvas基础语法

    前面的话 canvas顾名思义是定义在浏览器中的画布.它不仅是一个普通的元素,更是一个强大的编程工具.它的出现已然超过了web基于文档的设计初衷,将网页这一形态的应用推向了另一个高度.利用canvas ...

  2. KeepAlived+Nginx实现高可用负载

    一.环境及安装版本: centos6.5.Nginx1.4.7.keepalived1.3.2 虚拟IP 真是IP Nginx端口 主从分配 10.0.90.215 10.0.90.217 80 MA ...

  3. mysql @value := 用法

    背景 有这么一张表,记录名字和分数,现在需要按照成绩排名,存在并列名次的情况 解决方法 思路:按照score从大到小排序,第一行数据就是第一名,第二行就是第二名......需要判断当前行的score和 ...

  4. Sql Server数据库使用触发器和sqlbulkcopy大批量数据插入更新

    需要了解的知识 1.触发器 2.sqlbulkcopy 我的用途 开发数据库同步的工具,需要大批量数据插入和数据更新. 方式 使用SqlBulkCopy类对数据进行数据批量复制,将需要同步数据的表新建 ...

  5. IP地址冲突

    IP地址冲突问题.. IP地址冲突多数是由于同一局域网内,有2台或者多台电脑设置了同一个本地IP地址,导致局域网内部IP冲突导致,,建议尽量将本地IP地址设置为自动获取--然后查看自动获取的IP地址是 ...

  6. 公司python入职培训流程

     时间分为4周,全部自学,仅提供大纲.适用于Web方向:1.Week1:读完<简明Python教程>,适应Python开发环境2.Week2:写个爬虫,需要深入了解re.urllib2.s ...

  7. 【详细资料】ICN6202:MIPI DSI转LVDS芯片简介

    ICN6202功能MIPI DSI转LVDS,分辨率1920*1200,封装QFN40

  8. MySQL(三)之SQL语句分类、基本操作、三大范式

    一.SQL语句的分类     DML(Data Manipulation Langauge,数据操纵/管理语言) (insert,delete,update,select)     DDL(Data ...

  9. 开源项目Druid的提取SQL模板

    在数据库审计中,常常用到SQL模板,这样提取一次模板,下一次就不用对相同的模板的SQL进行相关操作.对此Druid提供相应的工具类进行SQL模板提取: package com.dbappsecurit ...

  10. windows 下 Mutex和Critical Section 区别和使用

    Mutex和Critical Section都是主要用于限制多线程(Multithread)对全局或共享的变量.对象或内存空间的访问.下面是其主要的异同点(不同的地方用黑色表示). Mutex Cri ...