python数据类型常用操作

Posted 活在当下

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python数据类型常用操作相关的知识,希望对你有一定的参考价值。

一、字符串

双引号或者单引号中的数据,就是字符串

字符串的输入输出

输出

print("我是字符串")

输入

在python3中输入

str = input("请输入字符串")

在Python2中,也有input,但是使用的是

str =raw_input("请输入字符串")

input输入的值会直接进行数据类型转换计算,但是我们接收到的不一定会计算,并且输入的值直接进行计算不安全所以在python3舍弃了原始的input

1、下标切片

所谓“下标”,就是编号,就好比超市中的存储柜的编号,通过这个编号就能找到相应的存储空间。我们字符串的小标起始位置为0

比如有一个字符串str = "abc"

str[0]         \'a\'

str[1]         \'b\'

str[2]         \'c\'

我们可以同过下标直接进行取值,如果下标位置大于长度,那么会报错,无法取值。

切片的语法:[起始:结束:步长]        

包含起始位置,不包含结束位置。步长如果为复数那么为倒序

起始位置和结束位置以及步长都可以为空,如果为空   起始位置为首位、结束位置为最后全选、步长默认为1

切片不会出现错误,如果切片的时候索引超出会切不到字符串为空

name =\'abcdef\'

print(name[0:3])

结果

abc

a ="abcdef"

a[:3]    \'abc\'

a[::2]    \'ace\'

a[5:1:2]    \'\'

a[1:5:2]    \'bd\'

a[::-2]    \'fdb\'

a[5:1:-2]    \'fd\'

2、循环遍历

为了更有效率的输出列表的每个数据,可以使用循环来完成,一般我们对列表的循环都是for循环进行遍历。在for循环中会介绍遍历字符串的原理。

name = "abcdef"

for i in name:

    pring(i)

会把每一个字符进行打印

3、常见操作

<1>find

检测 str 是否包含在 mystr中,如果是返回开始的索引值,否则返回-1

mystr.find(str, start, end)

<2>index

跟find()方法一样,只不过如果str不在 mystr中会报一个异常.

mystr.index(str, start, end)

<3>count

返回 str在start和end之间 在 mystr里面出现的次数

mystr.count(str, start, end)

<4>replace

把 mystr 中的 str1 替换成 str2,如果 count 指定,则替换不超过 count 次.

mystr.replace(str1, str2,  count)

<5>split

以 str 为分隔符切片 mystr,str为要拆分的子串,如果 maxsplit有指定值,则仅分隔 maxsplit 个子字符串

mystr.split(str=" ", maxsplit) 

<6>capitalize

把字符串的第一个字符大写

mystr.capitalize()

<7>title

把字符串的每个单词首字母大写

mystr.title()

<8>startswith

检查字符串是否是以 hello 开头, 是则返回 True,否则返回 False

mystr.startswith(“hello”)

<9>endswith

检查字符串是否以obj结束,如果是返回True,否则返回 False.

mystr.endswith(obj)

<10>lower

转换 mystr 中所有大写字符为小写

mystr.lower()   

<11>upper

转换 mystr 中的小写字母为大写

mystr.upper()   

<12>ljust

返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串

mystr.ljust(width)

<13>rjust

返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串

mystr.rjust(width)   

<14>center

返回一个原字符串居中,并使用空格填充至长度 width 的新字符串

mystr.center(width) 

<15>lstrip

删除 mystr 左边的空白字符

mystr.lstrip()

<16>rstrip

删除 mystr 字符串末尾的空白字符

mystr.rstrip()   

<17>strip

删除mystr字符串两端的空白字符

mystr.strip()

<18>rfind

类似于 find()函数,不过是从右边开始查找.

mystr.rfind(str, start=0,end=len(mystr) )

<19>rindex

类似于 index(),不过是从右边开始.

mystr.rindex( str, start=0,end=len(mystr))

<20>partition

把mystr以str分割成三部分,str前,str和str后

mystr.partition(str)

<21>rpartition

类似于 partition()函数,不过是从右边开始.

mystr.rpartition(str)

<22>splitlines

按照行分隔,返回一个包含各行作为元素的列表

mystr.splitlines() 

<23>isalpha

如果 mystr 所有字符都是字母 则返回 True,否则返回 False

mystr.isalpha() 

<24>isdigit

如果 mystr 只包含数字则返回 True 否则返回 False.

mystr.isdigit()

<25>isalnum

如果 mystr 所有字符都是字母或数字则返回 True,否则返回 False

mystr.isalnum() 

<26>isspace

如果 mystr 中只包含空格,则返回 True,否则返回 False.

mystr.isspace() 

<27>join

mystr 中每个元素后面插入str,构造出一个新的字符串

mystr.join(str)

二、列表

字符串可以存储一串字符,那么一组数据该如何存储呢?那么我们就要用到列表了

namesList = [\'xiaoWang\',\'xiaoZhang\',\'xiaoHua\']

在python中,列表可以存储不同的数据类型

列表也可以进行切片操作,和字符串的操作一致

1、增

append

通过append可以向列表添加元素.增加的元素默认增加到原列表的尾部

myList.append("rookie")   将“rookie”增加到myList的最后位置

extend

通过extend可以将另一个集合中的元素逐一添加到列表中。我们可以使用 + 来代替extend

insert

myList.insert(index, object) 在指定位置index前插入元素object

2、删

del:根据下标进行删除 如果不加人索引那么会直接进行删除

pop:默认删除最后一个元素,也可以传入要删除的索引

remove:根据元素的值进行删除

clear    清空列表数据

3、改

修改元素的时候,要通过下标来确定要修改的是哪个元素,然后才能进行修改

namelist = [\'xiaoWang\',\'xiaoZhang\',\'xiaoHua\']

namelist[0] = \'rookie\'

最后结果就是将xiaoWang修改为 rookie 

4、查

所谓的查找,就是看看指定的元素是否存在

in(存在),如果存在那么结果为true,否则为false

not in(不存在),如果不存在那么结果为true,否则false

index   获取某个元素在当前列表中所在的索引位置

 count     计算某个元素出现的次数

5、循环遍历

为了更有效率的输出列表的每个数据,可以使用循环来完成

namesList = [\'xiaoWang\',\'xiaoZhang\',\'xiaoHua\'] 

 length = len(namesList)

 i =0

while i<length:

    print(namesList[i]) 

     i+=1

一般循环我们用for

for i in namesList:

    print(i)

列表嵌套

类似while循环的嵌套,列表也是支持嵌套的

一个列表中的元素又是一个列表,那么这就是列表的嵌套,多层列表的嵌套需要用多次循环来把整个列表数据遍历出来

三、字典

变量info为字典类型:

info = {\'name\':\'rookie\',\'id\':one,\'sex\':\'18\',\'address\':\'地球亚洲中国\'}

字典和列表一样,也能够存储多个数据

列表中找某个元素时,是根据下标进行的

字典中找某个元素时,是根据\'名字\'(就是冒号:前面的那个值,例如上面代码中的\'name\'、\'id\'、\'sex\')

字典的每个元素由2部分组成,键:值。例如 \'name\':\'rookie\' ,\'name\'为键,\'rookie\'为值

有一个{} 里面用键值对形式存储的,这种形式的就是一个字典。

字典的定义除了上面那种方式也可以

info = dict()  定义一个空字典

注意:字典的key只能为不可变类型,不能是可变类型。常见的key是字符串,有时有可能是一个元组

1、增

想要给字典增加值,首先要有一个字典对象,可以使用 字典对象[\'键\'] = 值 的形式来进行赋值

info[\'newName\'] = "yuge"

2、删

del   

可以删除指定元素,也可以删除整个字典

del info["name"]   那么这个字典的name键值对就不存在了

del info                     会直接将整个字典删除

clear()

info.clear()            就是将整个字典清空,但是字典对象还存在

3、改

和增加的方法一样,只不过key如果字典中存在那么就会修改,不存在那么增加。

注:

d = dict()

d[1] = "rookie"

d[1.0] = "yuge"

最终结果字典中只存在{1:"yuge"}

在存储时 虽然1 是整数  1.0 是浮点数  但是两个数的值一样。进行了数据的修改。

4、查

可以直接用字典的对象["键"]  来进行取值,但是如果不存在那么会报错

我们可以用get

info.get("name")     就可以取到name对应的值  如果不存在那么为空 

我们还可以在使用get的时候增加默认值,即如果不存在那么会使用默认值

info.get("name","rookie")       如果没有name的键值对 ,那么返回“rookie”

5、循环遍历

info = {\'name\':\'rookie\',\'id\':one,\'sex\':\'18\',\'address\':\'地球亚洲中国\'}

info.keys()    #获取包含字典所有key的列表 在python3中是一个 dict_keys的可迭代对象,我们可以进行遍历

info.values()  #使用方法和keys()一样,返回的是字典所有值的可迭代对象

info.items() #使用方法和keys()一样,返回的是字典所有键值对的可迭代对象,默认是一个 键值元组

dict.has_key(key)如果key在字典中,返回True,否则返回False

四、元组

Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。

1、查

in 和 not in 和列表中使用方法一样

index和count与字符串和列表中的用法相同

2、循环遍历

使用方法和列表一致,也是一般使用for循环

五、集合

集合和列表使用类似,不同之处在于集合中不存在重复元素。集合使用{}

六、数据类型之间的转换

字符串转列表    list(str)        str为所需要转的字符串  我们也可以使用 split  指定某一个字符进行切割返回的也是一个列表

列表转元组       tuple(myList)      myList 是要转换的列表

列表转集合        set(myList)         myList 是要转换的列表

集合转元组   tuple(mySet)      mySet 是要转换的集合

元组转集合    set(mytuple)         mytuple 是要转换的元组

列表转字符串    "".join(myList)      myList 是要转换的列表

以上是关于python数据类型常用操作的主要内容,如果未能解决你的问题,请参考以下文章

python的数据类型+常用操作符

python数据类型常用操作

python数据类型-元组字典常用操作

python数据类型-字符串常用操作

Python学习之列表数据类型及常用操作详解

python列表的常用操作