找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
# 10)reverse函数:列表元素反转
# list1 = [1,3,5,4,8]
# list1.reverse()
# print(list1)     #[8, 4, 5, 3, 1]

# 11)pop 函数 移除元素
# list1 = [1,3,5,4,8]
# print(list1.pop())      #结果 8 打印删除的值,默认删除最后一个元素
# print(list1)            #[1, 3, 5, 4]   打印删除后的值
# print(list1.pop(0))     #结果 1 移除指定位置的元素
# print(list1)            #[3, 5, 4]

# 总结:
# 1、默认移除列表最后一个元素,并返回被删除的元素值
# 2、移除指定位置的元素list.pop(index)
# 3、在列表中pop函数是唯一一个既能改变列表元素又有返回值

# 5、python 中的元组
# 定义:元组(tuple)是Python中常用的一种数据结构。元组由不同的元素组成,
# 每个元素可以存储不同类型的数据,如字符串、数字、甚至元组。元组是'写保护' 的,
# 即元组中元素作为一个整体,创建后不能再做任何修改操作。
# 1)元组用tuple来表示  用小括号
# 元组的表示 tuple()
# tuple1 = ('china','dcs',123,'中国',['hello',888,666])
# print(tuple1)          #('china', 'dcs', 123, '中国', ['hello', 888, 666])
# print(type(tuple1))    # 数据类型  <class 'tuple'>

# tuple2 = ('test',)       #当元组只有一个元素时,需要在后面加一个逗号
# print(tuple2)            #('test',)
# print(type(tuple2))      #<class 'tuple'>

# 2)元组中的索引取值和切片
# tuple1 = ('china','dcs',123,'中国',['hello',888,666])
# print(tuple1[2])       #结果:123
# print(tuple1[2:])      #结果:(123, '中国', ['hello', 888, 666])

# 3)元组和列表之间的转化(元组中元素作为一个整体,创建后不能再做任何修改操作)
# tuple1 = ('china','dcs',123,'中国',['hello',888,666])
# tuple1[0] = 'test'     #元组当作一个整体不能直接改变

# 如果需要改变可以先转化为列表,然后改完再转化为元组
# list1 = list(tuple1)
# print(list1)            #结果['china', 'dcs', 123, '中国', ['hello', 888, 666]]
# print(type(list1))      #结果<class 'list'>
# list1[0] = 'test'      #索引赋值
# print(list1)            #结果['test', 'dcs', 123, '中国', ['hello', 888, 666]]
# tuple12 = tuple(list1)
# print(tuple12)          #结果('test', 'dcs', 123, '中国', ['hello', 888, 666])
# print(type(tuple12))    #数据类型 <class 'tuple'>


# 面试:元组可以被改变吗?当元组的元组作为一个整体时不能被改变,如果元组中有列表
# ,则可以通过二维数组的方式进行改变
# tuple1 = ('china','dcs',123,'中国',['hello',888,666])
# tuple1[4][1] = 999      #如果元组中有列表,则可以通过二维数组的方式进行改变
# print(tuple1)          #结果('chin a', 'dcs', 123, '中国', ['hello', 999, 666])


# 总结:元组和列表区别
# 1、相同:都是序列类型容器对象,可以存放任意数据,支持切片和迭代
# 2、不同:list是可变的对象,元组是不可变的对象
# 1)列表是可变的,元组不可变
# 2)列表是[],元组()表示
# # 3)元组比列表更安全,元组的处理速度比列表快
# # 4)列表中内置函数比元组多


# 6、python 中 的字典
# 字典的表达:dict = {}
# 字典是无序的是key:value 的形式存储数据

# 1)字典的第一种第一方法
# dict1 = {'name':'xiaoduan','age':18}
# print(dict1)             #{'name': 'xiaoduan', 'age': 18}
# print(type(dict1))       #<class 'dict'> 字典

# 2)字典第二种定义方法
# test = [('name','xiaoduan'),('age',18)]
# dict1 = dict(test)
# print(dict1)             #{'name': 'xiaoduan', 'age': 18}
# print(type(dict1))       #<class 'dict'> 字典

# 3)字典的添加
# dict1 = {'name':'xiaoduan','age':18}
# dict1['class'] = 1833     #字典赋值添加
# print(dict1)             #{'name': 'xiaoduan', 'age': 18, 'class': 1833}

# 4)字典覆盖
# dict1 = {'name':'xiaoduan','age':18}
# dict1['age'] = 20        #字典通过键赋值
# print(dict1)             #{'name': 'xiaoduan', 'age': 20}

# 5)取出字典中的键   ==》for 遍历
# dict1 = {'name':'xiaoduan','age':18}
# for i in dict1.keys():
#     print(i)             #name  age

# 6)取出字典中的值  ==》for 遍历
# dict1 = {'name':'xiaoduan','age':18}
# for i in dict1.values():
#     print(i)             #xiaoduan  18


# 7)通过键取出具体的值
# dict1 = {'name':'xiaoduan','age':18}
# print(dict1['name'])               #xiaoduan  通过建取值


# 8)字典添加元素setdefault()
# dict1 = {'name':'xiaoduan','age':18}
# dict1.setdefault('class',1833)
# print(dict1)                #{'name': 'xiaoduan', 'age': 18, 'class': 1833}
#
# dict1.setdefault('name','xiaochen')        #字典存在的键,所以不会起效果
# print(dict1)                 #{'name': 'xiaoduan', 'age': 18, 'class': 1833}


# 9)删除键值对
# dict1 = {'name':'xiaoduan','age':18}
# del dict1['name']          #删除键,值也会被删除
# print(dict1)               #{'age': 18}
#
# del dict1            #删除整个字典
# print(dict1)         #报错,提示字典不存在


# 10)对字典进行for 循环遍历,可以拿到键和值
# dict1 = {'name':'xiaoduan','age':18}
# for i in dict1:
#     # print(i)         #name  age  这里只打印字典中的键,
#     print(i,dict1[i])     #name xiaoduan    age 18    打印键和对应的值

# 11)使用items()完成遍历
# dict1 = {'name':'xiaoduan','age':18}
# for i,j in dict1.items():       #items需要定义两个变量i,j
#     print(i,j)                  #name xiaoduan    age 18    打印键和对应的值


# 12)pop(key)函数,删除指定键并返回删除的值
# dict1 = {'name':'xiaoduan','age':18}
# print(dict1.pop('name'))           #xiaoduan  打印出删除键对应的值
# print(dict1)                       #{'age': 18}
#注意:这里地方的pop是不能用索引删除

# 13)clear()清空字典所有项
# dict1 = {'name':'xiaoduan','age':18}
# dict1.clear()
# print(dict1)          #{}


# 14)get(key)方法,通过key获取值,当键不存在,返回None
# dict1 = {'name':'xiaoduan','age':18}
# print(dict1.get('name'))         #xiaoduan


# 15)fromkeys函数可以给具体的键指定值
# dict1 = {}.fromkeys(['name','age'])
# print(dict1)           #{'name': None, 'age': None}   初始化一个字典只给键不给值
#
# # fromkeys 也可以直接给值
# dict2 = {}.fromkeys(['name','age'],'test')
# print(dict2)          #{'name': 'test', 'age': 'test'}
#
# dict3 = {}
# print(dict3.fromkeys(['name','age'],'test'))      #{'name': 'test', 'age': 'test'}


# 16)__contains__函数检查字典是否有指定的键,有返回True,没有返回 False
# dict1 = {'name':'xiaoduan','age':18}
# print(dict1.__contains__('name'))       #True
#
# if dict1.__contains__('class') is True:     #如果class这个键存在就直接打印
#     print('存在此键')
# else:                                        #否则添加到字典中
#     # dict1.setdefault('class',1833)
#     dict1['class'] = 1833
#     print(dict1)


# 17)popitem函数随机返回并删除字典中的键值对(一般删除末尾对) 如果字典已经为空,
# 却调用了此方法,就报出KeyError异常
# dict1 = {'name':'xiaoduan','age':18}
# dict1.popitem()        #删除后返回一个字典
# print(dict1)           #{'name': 'xiaoduan'}
#
# print(dict1.popitem())      #('name', 'xiaoduan')   返回一个元组


# 18)update函数利用一个字典更新另外一个字典
# dict1 = {'name':'xiaoduan','age':18}
# dict2 = {'name':'xiaochen'}
# dict3 = {'class':1833}
# dict1.update(dict2)   #如果更新字典中的键存在的话,就覆盖原来的值
# print(dict1)          #{'name': 'xiaochen', 'age': 18}
#
# dict1.update(dict3)    #如果字典中更新的键不存在的话,加添到字典中
# print(dict1)          #{'name': 'xiaochen', 'age': 18, 'class': 1833}



# 7)python 中的集合 【集合最大的作用去重】
# 集合:可变集合  set = {}    不可变集合 frozenset
# ①可变集合
# test = 'hello'
# a =set(test)        #把字符串通过set()转化为集合
# print(a)              #{'e', 'l', 'o', 'h'}
# print(type(a))        #<class 'set'>数据类型

# 1)清空clear()
# a.clear()
# print(a)      #set()

# 2)随机删除
# a.pop()
# print(a)          #{'h', 'l', 'o'}  随机删除一个元素

# 3)remove() 移除
# a.remove('l')
# print(a)            #{'h', 'o', 'e'}


# 4)copy() 复制
# b = a.copy()
# print(b)           #{'o', 'e', 'l', 'h'}
#
# # 5)add() 函数
# a.add('dcs')
# print(a)          #{'o', 'e', 'h', 'l', 'dcs'}


# ② 不可变集合frozenset   ==>没有删除  添加  清空
# s = 'hello'
# a = frozenset(s)
# print(a)           #frozenset({'h', 'o', 'l', 'e'})
# b = a.copy()
# print(b)          #frozenset({'h', 'e', 'l', 'o'})
# print(type(b))    #<class 'frozenset'>


# 例子:对列表去重
list1 = [1,1,2,3,4,6]
list3 = []
# list2 = set(list1)
# print(list2)        #{1, 2, 3, 4, 6}

for i in list1:
    print(i,end="")       #i = 1,1,2,3,4,6
    if i not in list3:      #如果i不在list3里面,就往里面添加元组,在里面不会添加
        list3.append(i)
print(list3)            #[1, 2, 3, 4, 6]

分享至 : QQ空间
收藏

0 个回复

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