python--列表、字典、元组、集合对比

数据类型
# 计算机能处理的远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型。
# a:整形和浮点型(正数和负数)
# b:布尔类型(true,false)
# c: 字符串
# d:列表
# e: 字典
# f:元组
# g: 集合

#下文大纲:列表list 字典dict 元组tuple 集合set不同数据类型的定义、增加、删除、修改操作对比介绍,以及集合的并集、交集、差集、对称差集、自集、父集
#list 列表形式 有顺序
list=[]
list=[1,2,3]
list2=[
("name1", "y1"),
("name2", "y2")
]
#----------------------------------------------------------------------
#dict 字典形式 无序、key与value
dict={}
dict={"name1":"apple","name2":"egg"}
#----------------------------------------------------------------------
#tuple 元组形式 (tuple和list非常类似,但是tuple一旦初始化就不能修改,增加,删除,其嵌套list内容可变)
#定义空
tuple()
#定义一个元素必须加”,”
tuple=(1,)
#----------------------------------------------------------------------
#set 集合形式 1 无序 2 空集合,用set() 非空集合{} 3、集合主要作用去重复(例如将某一list 变为set形式后,list内重复元素保留唯一)
set1=set()
set2={1,2,3}
#----------------------------------增加------------------------------------
#列表增加
list=[1,2,3]
#list 增加一(尾部追加)
list.append("t5")
#list 增加二(指定位置插入)
list.insert(1,"t6")
#---------------------------------------------------------------------
#字典增加
dict={"name1":"apple","name2":"egg"}
dict["name3"]="orange"
#---------------------------------------------------------------------
#集合增加
set={"apple","egg"}
#set 增加一 (一个元素)
set.add("orange")
#set 增加二 (n个元素)
set.update(["test1","test2"])


#----------------------------------删除------------------------------------
#列表删除

list=[1,2,3,4,5,6,7]
#list 删除一 (指定元素) 如果元素不存在则报错
list.remove(2)
#list 删除二(指定索引 0删除第一位 空删除最后一位) 但是集合set.pop 不能指定0
list.pop()
#list 删除三(指定索引)
del list[1]

#---------------------------------------------------------------------
#字典删除

dict={"name1":"apple","name2":"egg"}
#dict 删除一(指定key)
del dict["name1"]

#---------------------------------------------------------------------
#集合删除
set={"apple","egg","egg1","egg2"}
#set 删除一 (删除任意元素,因其无序,不能指定索引,只能为空)
set.pop()
#set 删除二 (删除指定元素)如果元素不存在则报错
#set.remove("egg")
#set 删除三 (删除指定元素)如果元素不存在不报错
set.discard("egg1")

#----------------------------------修改------------------------------------
#列表修改
list=[6,7,8]
#list 修改一(指定索引位置)
list[2]="t"
#---------------------------------------------------------------------
#字典修改
dict={"name1":"apple","name2":"egg"}
dict["name2"]="orange"
#---------------------------------------------------------------------
#set 修改没有发现


#----------------------------------输出------------------------------------
#列表输出
list=[6,7,8]
#list 方法一:直接输出名字
print(list)
#方法二:循环输出名字
for i in list:
print(i)
#---------------------------------------------------------------------
#字典输出
dict={"name1":"apple","name2":"egg"}
dict["name2"]="orange"

#dict 方法一:直接输出名字
print(dict)
#方法二:循环输出名字 只输出值
for i in dict:
print(dict[i])
#---------------------------------------------------------------------
#集合输出
set={"apple","egg"}
set.update(["777","888"])
#dict 方法一:直接输出名字
print(set)
#方法二:循环输出名字
for i in set:
print(i)
#----------------------------------集合的关系形式------------------------------------
list1=[1,2,3,4,5]
list2=[4,5,6,7,8]
list3=[1,2,3]

#将list转化为集合
list1_set=set(list1)
list2_set=set(list2)
list3_set=set(list3)

#交集
print(list1_set.intersection(list2_set))
print(list1_set&list2_set)
#>>{4, 5}
#并集
print(list1_set.union(list2_set))
print(list1_set | list2_set)
#>>{1, 2, 3, 4, 5, 6, 7, 8}
#差集 list1_set里面减去(与list2_set重复内容)
print(list1_set.difference(list2_set))
print(list1_set - list2_set)
#>>{1, 2, 3}
#对称差集 在list1_set或者list2_set中的元素,且去掉同时存在于两个集合中的元素
print(list1_set.symmetric_difference(list2_set))
print(list1_set ^ list2_set)
#>>{1, 2, 3, 6, 7, 8}
#子集--子在前 子是父的子集(true)
print(list3_set.issubset(list1_set))
#>>True
#父集--父在前 父是子的父集(true)
print(list1_set.issuperset(list3_set))
#>>True
 
 
posted @ 2018-06-22 15:34  文城清枫  阅读(220)  评论(0编辑  收藏  举报