找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
#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[2])           ==10009  元组可以使用索引
#print(tuple1[1:3])         ==('china', '10009')  也可以使用切片
#元组可以使用索引,不能进行赋值,不能添加元素
#del tuple1[0]      =='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[0] = "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[3][0] = "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键值对,是会对字典添加一个sexmen的键值对
# 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)需要传入kget()函数作为参数
# 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 = [1,2,3,33,2,3,4,2,3,1]
# set1 = set(list1)       #转换成集合
# #print(set1)            #=={1, 2, 3, 4, 33}
# list2 = list(set1)
# print(list2)             ==[1, 2, 3, 4, 33]
#2.利用for循环
# list1 = [1,2,3,33,2,3,4,2,3,1]
# list2 = []
# for i in list1:
#     if i not in list2:     ==判断list1列表中的元素是否在list2
#       list2.append(i)      ==如果不在添加到list2
# print(list2)               ==[1, 2, 3, 33, 4]

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

分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册