python3之标准数据类型

list

Posted by WEW on April 10, 2019

前言

上篇文章中介绍了python3的基础知识,接下来我们来深入介绍Python3中的标准数据类型及其用法。

List

定义

list是有中括号及逗号隔开的一系列同类型元素组成
lists=["hello","my","lover"]

访问元素

list的索引从0开始到n-1,也可以和字符串一样从-1开始从最后一个开始遍历,其访问的方法和字符串大致一样
通过for循环进行遍历
for i in lists:
	   print(i,end=" ")

更新元素

lists[2]="sys"
lists=["hello","my","sys"]

删除元素

del lists[2]
lists=["hello","my"]

列表函数

len(list)返回list的长度
max(list)返回list中的最大元素
min(list)返回list中的最小元素
list(seq)将某个元组转化为list
list.append(obj)在列表后面添加obj对象
list.count(obj)统计obj在list中出现的次数
list.extend(seq)在某个列表后面一次性添加seq列表的多个元素
list.index(obj)返回列表中出现obj的第一个索引
list.insert(index, obj)将obj插入list中index索引处
list.pop([index=-1])去除列表中的一个元素默认为最后一个,并返回该值
list.remove(obj)去除列表中匹配的obj项
list.reverse()翻转列表
list.sort( key=None, reverse=False)对原列表进行排序
list.clear()清空列表
list.copy()复制列表

元组

定义

python中元组和列表差不多,不同的是元组中的元素是不可以改变的,且元组中的元素类别是可以不同的,列表的定义是用[],而元组是用()
    
eg: a=("wew",15,0.1,'student')
    b=() 创建空元组

访问元素

tuples=(1,2,3,4,5)
print(tuples[2])
print(tuples[1:])
print(tuples[2:4])
print(tuples[-1])
for i in tuples:
    print(i)
        
3
(2, 3, 4, 5)
(3, 4)
5
1
2
3
4
5

修改元组

元组中的元素是不可改变的,但是我们可以对元组进行连接

tuples(1,2,"wew")
tuples2(4,5,"Li")
print(tuples+tuples2)
    
(1, 2, 'wew', 4, 5, 'Li')

删除元组

我们不可以删除其中的一个元素,但是可以整体删除
tuples(1,2,"wew")
del tuples

元组中的内置函数

len(tuples) 返回元组元素的个数
tuple(lists)将某个列表转为元组

字典

定义

字典类似于C++中的map容器,它是由一个key:value段组成的元素集合,字典要求所有的key和value必须为同一类型的元素,字典的定义用{}

eg: dict1={} 定义一个空字典
    dict={"wang":1,"er":2,"sa":3}
    print(dict)
        
{'wang': 1, 'sa': 3, 'er': 2}

访问字典

dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
print ("dict['Name']: ", dict['Name'])
print ("dict['Age']: ", dict['Age'])
    
dict['Name']:  Runoob
dict['Age']:  7

修改字典

dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
dict['Age'] = 8;               # 更新 Age
dict['School'] = "天津大学"  # 添加信息
print ("dict['Age']: ", dict['Age'])
print ("dict['School']: ", dict['School'])
print(dict)
    
dict['Age']:  8
dict['School']:  天津大学
{'Name': 'Runoob', 'Age': 8, 'School': '天津大学', 'Class': 'First'}

删除字典元素

dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
print(dict)
del dict['Name']#删除字典中的某个元素
print(dict)
dict.clear()#清空字典
print(dict)
del dict#删除字典

{'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
{'Age': 7, 'Class': 'First'}
{}

字典的特性

字典中value可以是任何数据,可以使基础数据类型也可以是标准数据类型,但是key不行,key必须是不可变元素类型譬如:数字,元组,字符串
其次,同一个字典中key是独一无二的,如同一个key连续被复制两次则最后一次的值就是该key的值

字典内置函数

len(dict) 返回具体的字典元素个数
str(dict) 返回字典的字符串形式
dict.clear() 清空字典
dict.copy() 返回字典的浅复制
dict.fromkeys(seq, 10)返回以seq序列为key,以10为值得字典
dict.get(key,default=None)返回key的value,若value为空则返回None
key in dict 如key在dict中则返回true,否则返回false
dict.items() 以列表的形式返回可遍历的元组数组
dict.keys() 返回一个可迭代的由字典key组成的对象
dict.pop(key)返回要删除key对应的值

集合

定义

set是一个无序的不存在重复字段的集合,可以用{}或者对应的set()函数来创建,注意的一点,使用set创建空集合的时候必须要用set()函数

    basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
    print(basket)
    a = set('abracadabra')
    print(a)
    b = set('alacazam')
    print(a-b)
        
    {'orange', 'banana', 'pear', 'apple'}
    {'c', 'd', 'b', 'a', 'r'}
    {'d', 'b', 'r'}

添加元素

    basket.add('hero')
    basket.update(1)
    basket.pop()随机删除一个元素
    basket.remove(item) 移除指定元素