python 首端添加元素_Python学习笔记2---数据操作

在python中,序列是一组按照顺序排列的值“数据集合”,字符串、列表、元组都是序列类型,其优点是支持索引(类似C的数组下标)和切片的操作。

特征:第一个正索引为0,指向最左端,第一个索引为负数指向最右端。

切片:可根据下标获取对象任意部分的数据

一、字符串

1.1 字符串复制

可直接赋值,id()函数可以查看对象的内存地址。

c=' hello '

#字符串复制 id() 函数可以查看一个对象的内存地址

print("c的内存地址是%d"%id(c))

b=c #赋值之后内存相等

print("b的内存地址是%d"%id(b))

print(b)

1.2  字符串首字母变大写 capitalize()

name='zxl'

print('首字母变大写%s'%name.capitalize()) #首字母变大写转换 运行结果 “首字母变大写Zxl”

1.3  去除空格 strip()、lstrip()、rstrip()

c=' hello '

print('删除全部空格%s'%c.strip()) #运行结果 “删除全部空格hello” 说明这里只能去除字符串左右两边的空格,不会去掉字符串中间的空格

print('删除左边空格%s'%c.lstrip()) #运行结果 “删除左边空格hello ” 说明这里只能去除字符串左右两边的空格,不会去掉字符串中间的空格

print('删除右边空格%s'%c.rstrip()) #运行结果 “删除右边空格 hello” 说明这里只能去除字符串左右两边的空格,不会去掉字符串中间的空格

1.4  检测字符串中是否包含子字符串find() 、index()

find()函数:

a='I love China'

print(a.find('i')) #返回内容坐在的内存下标,若没有找到返回-1

#返回结果 -1

index()函数:

a='I love China'

print(a.index('C')) #检测主字符串中是否包含子字符串,若没有找到相应的数据程序会报异常

两个函数都是查找字符串包含,区别是find()函数没找到子字符串返回-1,index()函数没找到相应的子字符串程序则会编译出错。

1.5  检测字符串中的开头/结尾startswith()、endswith()

a='I love China'

print(a.startswith('i')) #检测字符串是否以某字符开头,是返回True 不是返回False

print(a.endswith('a')) #检测字符串是否以某字符结尾,是返回True 不是返回False

1.6 字符串的大小写操作

1.6.1  lower字符串全部变小写

a='I love China'

print(a.lower()) #字符串内容全部变小写

#运行结果 i love china

1.6.2  upper字符串全部变小写

a='I love China'

print(a.upper()) #字符串内容全部变大写

#运行结果 I LOVE CHINA

1.6.3  swapcase字符串大小写互换

a='I love China'

print(a.swapcase()) #字符串内容大小写互换

#运行结果 i LOVE cHINA

1.7 字符串检查

1.7.1 检测字符串中的内容是否全部为数字和字母 isalnum

a='I love China'

print(a.isalnum()) #检测字符串中的内容是否全部位数字和字母,是返回True 不是返回False

#返回结果 False

因为字符串中有空格所以返回false

1.7.2 检测字符串中的内容是否全部为字母 isalpha

name='zxl'

print(name.isalpha()) #检测字符串中的内容是否全部位字母,是返回True 不是返回False

#返回 True

1.7.3 检测字符串中的内容是否全部为数字isdigit

name='zxl'

print(name.isdigit()) #检测字符串中的内容是否全部位数字,是返回True 不是返回False

#返回 False

1.7.4 检测字符串中的内容是否全部为数字islower

name='zxl'

print(name.islower()) #检测字符串中的内容是否全部小写,是返回True 不是返回False

1.8 字符串切片

str='hello word'

print(str[2:5]) #取下标2~4 输出结果 “llo”

print(str[2:]) #取下标2~结束 输出结果 “llo word”

print(str[:7]) #取下标~6结束 输出结果 “hello w”

切片操作规则[N:M:L]

N:为起始位置,输出时是包含此下标元素的

M:为结束位置,输出时不包含此下标元素

L:步长,即取元素的间隔

python中 如果str的长度为5,那么str[-1] 与 str[4] 的含义是相同的,负号表示倒着取数据

二、列表

list是python中非常重要的数据结构,是一个有序的数据集合。

1.支持增删改查

2.列表中的数据是可以变化的【数据线可以变,内存地址不会改变】

3.用[]来表示列表类型,数据项之间用逗号分隔,注意数据项可以是任何类型的数据(数字、列表、字符串等)

4.支持索引和切片操作

2.1 列表定义

#空列表 li=[]

li=['abc',123,12.52,True,"你好"]

print(type(li)) #输出数据类型 输出结果

print(len(li)) #输出列表内的数据个数 输出结果5

len函数可以返回对象(字符、列表、元组等)长度或项目个数。

2.2 列表切片---查

li=['abc',123,12.52,True,"你好"]

print(li) #输出全部元素 输出内容:['abc', 123, 12.52, True, '你好']

print(li[0]) #输出下表0 输出内容:abc

print(li[0:2]) #输出下表0~1 输出内容:['abc', 123]

print(li[1:2]) #输出下表1~1 输出内容:[123]

print(li[1:]) #输出下表1~最后 输出内容:[123, 12.52, True, '你好']

print(li[:3]) #输出下表开头~2 输出内容:['abc', 123, 12.52]

print(li[::-1]) #列表倒叙输出 输出内容:['你好', True, 12.52, 123, 'abc']

print(li*3) #输出3次列表内容 输出内容:['abc', 123, 12.52, True, '你好', 'abc', 123, 12.52, True, '你好', 'abc', 123, 12.52, True, '你好']

2.2 列表操作---增

2.2.1 列表中再追加一个元素append

li=['abc',123,12.52,True,"你好"]

li.append(['ddd','fff']) #列表中再追加一个元素

#输出内容: ['abc', 123, 12.52, True, '你好', ['ddd', 'fff']]

2.2.2 列表中再追加多个元素extend

li= ['abc', 123, 12.52, True, '你好', ['ddd', 'fff']]

li.extend([1,2,3,4,5,6,7]) #列表中批量添加元素

#输出内容:['abc', 123, 12.52, True, '你好', ['ddd', 'fff'], 1, 2, 3, 4, 5, 6, 7]

2.2.3  列表末尾添加新的元素append()

li=['abc', 123, 12.52, True, '你好', ['ddd', 'fff'], 1, 2, 3, 4, 5, 6, 7]

li.append(8888) #列表中末尾再追加一个数字

#输出内容: ['abc', 123, 12.52, True, '你好', ['ddd', 'fff'], 8888]

2.2.4  指定对象插入列表的指定位置insert()

li=['abc', 123, 12.52, True, '你好', ['ddd', 'fff'], 1, 2, 3, 4, 5, 6, 7, 8888]

li.insert(1,'new') #列表中下表1的位置插入内容

#输出内容:['abc', 'new', 123, 12.52, True, '你好', ['ddd', 'fff'], 1, 2, 3, 4, 5, 6, 7, 8888]

2.3 列表操作---删

2.3.1 切片删除方式

ls=list(range(10,20)) #生成10~19的整数做完列表元素放入列表s中

print(ls) #[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

del ls[0] #删除列表下标0的内容 输出内容: [11, 12, 13, 14, 15, 16, 17, 18, 19]

del ls[1:3] #删除列表下标1~2的内容 输出内容: [11, 14, 15, 16, 17, 18, 19]

2.3.2 删除列表中的指定内容remove()

ls=list(range(10,20)) #生成10~19的整数做完列表元素放入列表s中

print(ls) #[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

ls.remove(18) #删除列表中的指定内容,若列表中差不多内容,则编译出错 输出内容: [10, 11, 12, 13, 14, 15, 16, 17, 19]

2.3.3 删除列表中的指定内容pop()

ls=list(range(10,20)) #生成10~19的整数做完列表元素放入列表s中

ls.pop(0) #删除列表中的指定下标的内容 输出内容: [11, 12, 13, 14, 15, 16, 17, 18, 19]

print(ls)

2.4 列表操作---改

li=['abc',123,12.52,True,"你好"]

print('修改前')

print(li)

li[0]="程序员"

print('修改后')

print(li)

直接通过下标来修改内容,这点与C相同

三、 元组操作

元组是一个不可变的序列,在创建之后不能做修改

特点

1.不可变,即元组不能进行增、删、改,只能查询

2.用()创建元组类型,数据项用逗号分隔

3.元组中的数据项可以是任何类型

4.当元组中只有一个元素时,必须在元素后加一个逗号,程序才会认为其数据类型是元组

5.支持切片操作

3.1  切片操作

tupleA=('abc',89,3.14,'123',[11,22,33])

print(type(tupleA)) #查询类型 输出

print(len(tupleA)) #查询长度 输出 5

print(tupleA) #输出 ('abc',89,3.14,'123',[11,22,33])

print(tupleA[::-1]) #列表倒叙输出 输出内容([11, 22, 33], '123', 3.14, 89, 'abc')

#python中 tupleA[-1] 与 tupleA[4] 的含义是相同的,负号表示倒着取数据

print(tupleA[::-2]) #倒叙输出字符串,间隔两个字符取一个([11, 22, 33], 3.14, 'abc')

print(tupleA[-2:-1:]) #('123',)

需要说明的是 假如元组中有列表,那么元组中的列表是可以被修改的

#元组中的列表是可以修改的

tupleA=('abc',89,3.14,'123',[11,22,33])

tupleA[4][0]=0;

print(tupleA[4]) #输出结果 :[0, 22, 33]

当元组中只有一个元素时,必须在元素后加一个逗号,程序才会认为其数据类型是元组

#当元组中只有一个元素时,必须在元素后加一个逗号,程序才会认为其数据类型是元组

a=(1) #此时a的数据类型为整型

print(type(a)) #输出结果 int

a=(1,) #这样才是元组类型的数据 tuple

print(type(a)) #输出结果 tuple

本文地址:https://blog.csdn.net/qq_34301282/article/details/110437579

希望与广大网友互动??

点此进行留言吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值