Python数据类型二
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python数据类型二相关的知识,希望对你有一定的参考价值。
一、列表
1.list的定义
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。Python有6个序列的内置类型,但最常见的是列表和元组。序列都可以进行的操作包括索引,切片,加,乘,检查成员。此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型。创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:
list1 = [‘physics‘, ‘chemistry‘, 1997, 2000] list2 = [1, 2, 3, 4, 5 ] list3 = ["a", "b", "c", "d"]
2.list常用的方法
append():在列表末尾添加新的对象。程序例子与结果如下:
a = [‘a‘,‘b‘,‘c‘,‘ad‘,123] print(a) a.append(‘hello‘) print(a)
pop():移出列表中的一个元素(默认是最后一个元素),并且返回该元素的值。如下所示:
a = [‘a‘,‘b‘,‘c‘,‘ad‘,123] print(a) a.pop() print(a)
index():从列表中找出某个值第一个匹配项的索引位置。如下所示:
a = [‘a‘,‘b‘,‘c‘,‘ad‘,123] print(a) print(a.index(‘ad‘))
insert():将对象插入到列表中。如下所示:
a = [‘a‘,‘b‘,‘c‘,‘ad‘,123] print(a) a.insert(0,‘momo‘) print(a) a.insert(3,‘huang‘) print(a)
remove():移除列表中某个值的第一个匹配项,如下所示:
a = [‘a‘,‘b‘,‘c‘,‘ad‘,123] a.append(‘ad‘) print (a) a.remove(‘ad‘) print(a)
sort():对原列表进行排序,如下所示:
a = [‘a‘,‘b‘,‘c‘,‘ad‘,123] print (a) a.sort() print(a)
reverse():反向列表中元素,如下所示:
a = [‘a‘,‘b‘,‘c‘,‘ad‘,123] print (a) a.reverse() print(a)
3.切片
切片的时候需要注意,取的是最后一位数字-1
a = [‘a‘,‘b‘,‘c‘,‘ad‘,123] print (a) print(a[3:]) print(a[1:5]) print(a[1:5:2])
二、元组(tuple)
1.tuple的定义
Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。如下实例:
tup1 = (‘physics‘, ‘chemistry‘, 1997, 2000) tup2 = (1, 2, 3, 4, 5 ) tup3 = "a", "b", "c", "d"
创建空元组:
tup1 = ()
元组中只包含一个元素时,需要在元素后面添加逗号:
tup1 = (50,)
元组与字符串类似,下标索引从0开始,可以进行截取,组合等。
2.tuple常用的方法
count():查找元素在tuple中出现的次数,如下所示:
t1 = (‘a‘,‘b‘,‘x‘,‘a‘,‘a‘,‘d‘) print(t1.count(‘a‘))
index():查找元素的第一个索引值,若元素不存在,程序会报错。如下所示
t1 = (‘a‘,‘b‘,‘x‘,‘a‘,‘a‘,‘d‘) print(t1) print(t1.index(‘a‘)) print(t1.index(‘x‘))
三、字典
1.字典的定义
字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:
d = {key1 : value1, key2 : value2 }
键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。字典有三种赋值方式,如下所示:
k = {‘name‘:‘huangdongu‘,‘age‘:20} print(k) print(type(k)) k1 = dict(a=1,b=2,c=3) print(k1) d = dict([(‘name‘,‘huangdongju‘),(‘age‘,20)]) print(d)
2.字典常用的方法
get():返回指定键的值,如果值不在字典中返回default值,如下所示:
k = {‘name‘:‘huangdongu‘,‘age‘:20} print (k) print(k.get(‘name‘)) print(k.get(‘age‘)) print(k.get(‘address‘))
setdefault():和get()类似,但如果键不存在与字典中,将会添加键并将值设为default,如下所示:
k = {‘name‘:‘huangdongu‘,‘age‘:20} print (k) print(k.setdefault(‘name‘)) print(k.setdefault(‘age‘,‘beijing‘)) print(k.setdefault(‘address‘,‘beijing‘)) print (k)
keys():以列表返回一个字典所有的键,如下所示:
k = {‘name‘:‘huangdongu‘,‘age‘:20} print (k) print(k.keys())
values():以列表返回字典中的所有值,如下所示:
k = {‘name‘:‘huangdongu‘,‘age‘:20} print (k) print(k.values())
iteritems():返回一个迭代器,一般不单独使用。item():以列表返回可遍历的(键, 值) 元组数组。如下所示:
k = {‘name‘:‘huangdongu‘,‘age‘:20} print (k) print(k.iteritems()) print(k.items()) for x,y in k.iteritems(): print(x,y)
pop():Python 字典 pop() 方法删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。如下所示:
k = {‘name‘:‘huangdongu‘,‘age‘:20} print (k) k.pop(‘name‘) print(k)
fromkeys():创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值,如下所示:
l = [‘a‘,‘b‘,‘c‘,‘d‘] m = {} n = m.fromkeys(l,123) n = dict.fromkeys(l,123) print(n)
zip():接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表。如下所示:
l1 = [‘a‘,‘b‘,‘c‘,‘d‘] l2 = [1,2,3,4] dict_test = dict(zip(l1,l2)) print(dict_test)
update():把字典dict2的键/值对更新到dict里,如下所示:
print (dict_test) k = {‘name‘:‘huangdongu‘,‘age‘:20} print (k) dict_test.update(k) print(dict_test)
3.字典的排序
sorted(dic,value,reverse) :dic为比较函数,value 为排序的对象(这里指键或键值), reverse:注明升序还是降序,True--降序,False--升序(默认)
以上是关于Python数据类型二的主要内容,如果未能解决你的问题,请参考以下文章