西安五期-敬钱钱 发表于 2022-7-19 22:27:40

python03 元组 字典 集合

#pop函数,删除列表中的元素,没有传入索引值默认删除最后一个
#pop() 既可以打印出被删除的元素,也可以打印出被删除后的列表元素
# list1 = ["dcs","china","10009","test"]
# print(list1.pop(3))   #== test
# print(list1)            ==['dcs', 'china', '10009']

#元组 tuple()
#一个有序的序列,可以存储任何数据类型的数据在元组中
#创建之后里面的元素不能被修改
# tuple1 = ("dcs","china","10009","test",["xiao","10010"])
# # print(type(tuple1))   == <class 'tuple'>
# tuple1 = ("xiaoxiao",)    =====>只有一个值,需元素最后加英文逗号
# print(tuple1)             ==('xiaoxiao',)
# print(type(tuple1))       ==<class 'tuple'>
# tuple1 = ("dcs","china","10009","test",["xiao","xiao"])
#print(tuple1)         ==10009元组可以使用索引
#print(tuple1)         ==('china', '10009')也可以使用切片
#元组可以使用索引,不能进行赋值,不能添加元素
#del tuple1      =='tuple' object doesn't support item deletion
#元组中的元素不能改变,可以直接删除整个元组
#print(tuple1.index("dcs"))    ==0
# print(tuple1.count("xiao"))==0

# 元组不能直接被修改,可以间接修改
# tuple1 = ("dcs","china","10009","test",["xiao","xiao"])
# list1 = list(tuple1)#转成列表['dcs', 'china', '10009', 'test', ['xiao', 'xiao']]
# list1 = "hello"    #赋值   ['hello', 'china', '10009', 'test', ['xiao', 'xiao']]
# tuple2 = tuple(list1) #转换成元组tuple2
# print(tuple2)         #('hello', 'china', '10009', 'test', ['xiao', 'xiao'])
#
# 元组可以改变吗?
# 当元组中的元素作为一个整体的情况下是不可以被改变的,如果元组中存在其他的 如列表序列,可用索引
# 把列表取出,然后修改取出之后的列表,这样能对元组的值进行修改 (二维数组)
# tuple1 = ("dcs","xian05",10086,["xiao","10009"])
# tuple1 = "losson"
# print(tuple1)         ==('dcs', 'xian05', 10086, ['losson', '10009'])

#元组的迭代 ==> 可以使用for循环来遍历取值
#元组中有多少个元素,for循环就会循环多少遍
# tuple1 = ("dcs","xian05",10086,["xiao","10009"])
# for i in tuple1:
#   print(i)
#   dcs
#   xian05
#   10086
#   ['xiao', '10009']


#字典:dict = {}
#无序的,不能使用索引和切片,是以键值对的形式存储:key:value 进行存储
# key是唯一的,value是任意的

#dict1 = {"name":"xianzhang","age":"18"}
# print(dict1)
# print(type(dict1))    ==<class 'dict'>
# list1 = [("name","xiaozhang"),("age",18)]
# print(dict(list1))      =={'name': 'xiaozhang', 'age': 18}
#给字典添加键值对
# dict1 = {"name":"xianzhang","age":"18"}
# dict1["sex"] = "man"
# print(dict1)   =={'name': 'xianzhang', 'age': '18', 'sex': 'man'}
# 没有sex键值对,是会对字典添加一个sex:men的键值对
# dict1 = {"name":"xianzhang","age":18,"sex":"women"}
# dict1["sex"] = "man"
# print(dict1)    =={'name': 'xianzhang', 'age': 18, 'sex': 'man'}
# 存在sex 键值对,会对原有的值进行修改

# 取字典中的键===> 用遍历的方法for循环
# dict1 = {"name":"xianzhang","age":18,"sex":"women"}
# for i in dict1.keys():
#加修饰函数keys(),取的是字典中的键
#print(i)      name,age,sex
#取字典中的值===>for循环遍历出来




#setdefault()函数,给字典中添加键值对
# dict1 = {"name":"xiaozhang","age":18,"sex":"man"}
# dict1.setdefault("sex","women")
# print(dict1)       添加的键存在,就添加无效

# dict1 = {"name":"xiaozhang","age":18}
# dict1.setdefault("sex")
# print(dict1)      =={'name': 'xiaozhang', 'age': 18, 'sex': None}
# 不添加值,值默认为None

# dict1 = {"name":"xiaozhang","age":18}
# del dict1             删除字典
# print(dict1)          ==NameError: name 'dict1' is not defined
# dict1 = {"name":"xiaozhang","age":18}
# del dict1["name"]       通过字典中的键删除键值
# print(dict1)         =={'age': 18}
#for

#pop()函数,删除指定值的键并返回删除键的值
#dict1 = {"name":"xiaozhang","age":18}
#print(dict1.pop("name"))   xiaozhang ==>字符串
#print(dict1.popitem())      ('age', 18) 删除后返回的数据类型为元组,随机删除
# dict1.clear()
# print(dict1)=={}      清空字典中的内容
#print(dict1.get("name"))   ==xiaozhang   取字典中的值
# get(k)需要传入k到get()函数作为参数
# print(dict1["name"])          ==xiaozhang

# dict1 = {}.fromkeys(["name","age"])定义一个初始化的字典 ==>去重
# dict1["name"] = "xiaozhang"
# dict1["age"] = "18"
# print(dict1)            == {'name': 'xiaozhang', 'age': '18'}

# dict1 = {"name":"xiaozhang","age":18}
# print(dict1.__contains__("name"))   ==True 私有变量,判断字典中是否含有某个键

#判断name1是否在dict1字典中,如果存在则打印字典,
# 如果不存在则把name1:"xiaomei",添加到dict1中并且打印出来
# dict1 = {"name":"xiaozhang","age":18}
# if dict1.__contains__("name1") is True:
#   print(dict1)
# else:
#dict1.setdefault("name1","xiaomei")
# print(dict1)
#=== {'name': 'xiaozhang', 'age': 18, 'name1': 'xiaomei'}

# dict1 = {"name":"xiaozhang","age":18,"sex":"women"}
# dict2 = {"sex":"man"}
# dict1.update(dict2)   如果需要更新的元素项在原字典中存在,则把原来的覆盖
# print(dict1)    == {'name': 'xiaozhang', 'age': 18, 'sex': 'man'}

#集合    去重
#可变集合set==> 集合中的内容是不能重复的
# name = "xiaozhang"
# set1 = set(name)
# set1.add("s")       == 给集合添加元素s
# print(set1)         == {'z', 'n', 'h', 'g', 's', 'o', 'x', 'i', 'a'}
# set1.remove("h")    == 移除h
# print(set1)         =={'g', 'z', 'i', 'a', 'o', 'n', 'x'}
#print(set1.pop())      a
# set2 = {1,2}
# set1.update(set2)
# print(set1)          #=={1, 2, 'x', 'o', 'z', 'n', 'g', 'a', 'h', 'i'}
# print(type(set1))   # ==<class 'set'>

#不可变集合
# name = "xiaozhang"
# frozenset1 = frozenset(name)
# # print(frozenset1)         ==frozenset({'z', 'a', 'n', 'x', 'h', 'g', 'o', 'i'})
# # print(type(frozenset1))   ==<class 'frozenset'>
# frozenset2 = frozenset1.copy()复制 一致
# print(frozenset1)         frozenset({'a', 'h', 'z', 'i', 'n', 'o', 'g', 'x'})
# print(frozenset2)         frozenset({'a', 'h', 'z', 'i', 'n', 'o', 'g', 'x'})

# python 去重方法
# 1.利用set集合去重
# list1 =
# set1 = set(list1)       #转换成集合
# #print(set1)            #=={1, 2, 3, 4, 33}
# list2 = list(set1)
# print(list2)             ==
#2.利用for循环
# list1 =
# list2 = []
# for i in list1:
#   if i not in list2:   ==判断list1列表中的元素是否在list2中
#       list2.append(i)      ==如果不在添加到list2中
# print(list2)               ==

# 3.fromkeya() 利用字典去重
# list1 =
# dict1 = {}.fromkeys(list1)
# print(dict1)               # =={1: None, 2: None, 3: None, 33: None, 4: None}
# list2 = list(dict1.keys())
# print(list2)               ==

页: [1]
查看完整版本: python03 元组 字典 集合