字典的内置方法
1、字典常用的定义方法:
info={'name':'tony','age':18,'sex':'male'}
info = dict(name='tony',age='18')
2、字典的内置方法
2.1、按照key取值,可存可取:
dic = {
'name': 'xxx',
'age': 18,
'hobbies': ['play game', 'basketball']
}
print(dic['name']) # xxx
print(dic['hobbies']) # ['play game', 'basketball']
print(dic['hobbies'][1]) # basketball
2.2、赋值操作:
dic['name'] = 'kevin' # {'name': 'kevin', 'age': 18, 'hobbies': ['play game', 'basketball']}
dic['gender'] = 'male' # 字典:当K存在的时候,就是修改操作,当k不存在的时候,就是增加一个key值 (重要)
print(dic)
dic1 = {'name': 'yyy'}
dic1['name'] = 'xxx'
dic1['age'] = 'aaaa'
dic1['gender'] = 'xxx'
print(dic1)
2.3、长度len:
print(len(dic1)) # 3
2.4、成员运算符in和notin:
d = {'username': 'kevin', 'age': 18}
print('kevin' in d) # False
print('username' in d) # True
print('username' not in d) # False
'''
字典暴露的始终是key,所以不可以直接搜索v的值,只能通过key.
'''
2.5、键keys(),值values(),键值对items() '三剑客'
d = {'username': 'kevin', 'age': 18}
获取字典中的全部key:
print(d.keys()) # dict_keys(['username', 'age']) # 把它当成列表来记忆,把字典的所有key拿出来,组装成列表返回
获取字典中的values:
print(d.values()) # dict_values(['kevin', 18]) # 把它当成列表来记忆,把字典的所有value值拿出来,组装成列表返回
获取字典中的所有键值对:
print(d.items()) # dict_items([('username', 'kevin'), ('age', 18)]) # # 返回的是列表套元组的形式,列表里面是一个个的小元组,元组里面是字典的k和v
使用for循环取出值:
for i in d.keys():
print(i)
for j in d.values():
print(j)
# d.items()-----> dict_items([('username', 'kevin'), ('age', 18)])
or items in d.items():
# items是元组
print(items) # ('username', 'kevin')
# print(items) # ('age', 18)
# print(items[0], items[1])
for dic in d:
print(dic) # 暴露的是k值
2.6、get
如果key存在,则返回v值,如果key不存在则返回None
d = {'username': 'jack', 'age': 18}
print(d['username']) # 'jack'
print(d['username1']) # 字典取值,如果key不存在,直接报错
print(d.get('username')) # jack
print(d.get('username1')) # None 如果使用get取值,key存在,则直接取出对应的值,如果key不存在,返回None
print(d.get('username', 'xxx')) # jack
print(d.get('username1', 'xxx')) # xxx, get可以传递第二个参数,意思是默认值,当取出的key不存在的时候,直接返回第二个参数的值
'''以后字典取值最好使用get取值,不会直接报错'''
2.7、pop()
d = {'username': 'jack', 'age': 18, 'gender': 'male'}
# pop
print(d.pop('username')) # jack
print(d) # {'age': 18, 'gender': 'male'}
'''代表的是删除字典的元素。但是,删除username键值对,并且把v弹出来'''
2.8、popitem
dic.popitem()
d = {'username': 'jack', 'age': 18, 'gender':'male'}
# popitem
print(d.popitem()) # ('gender', 'male')
print(d) # ('gender', 'male') {'username': 'jack', 'age': 18}
'''代表的是删除字典的元素。但是,删除的值末尾的k:v,并且把最后一个k:v弹出来了'''
随机删除一组键值对,并将删除的键值放到元组内返回,类似于列表中的pop
2.9、update
'''update的功能是:如果字典的k存在,则修改原来的k,如果不存在,则添加一个新值'''
d = {'username': 'jack', 'age': 18, 'gender':'male'}
d1 = {'username': 'tank', 'hobbys': ['read', 'music']}
d.update(d1)
print(d) # {'username': 'tank', 'age': 18, 'gender': 'male', 'hobbys': ['read', 'music']}
2、元组的内置方法
2.1元组的定义:
res = (1,2,3,4,5)
2.2类型转换:
t = (1, 2, 3)
print(type(t)) # tuple
print(tuple(123)) # 不行
print(tuple(123.11)) # 不行
print(tuple('hello')) # ('h', 'e', 'l', 'l', 'o')
print(tuple((1, 2, 3, 4))) # (1, 2, 3, 4)
print(tuple([1, 2, 3, 4, 5])) # (1, 2, 3, 4, 5)
print(tuple({'a': 1, 'b': 2})) # ('a', 'b')
print(tuple({1, 2, 3, 4})) # (1, 2, 3, 4)
2.3元组的内置方法
2.3.1、可以按照索引正反向取值:
t = (1, 2, 3, 4)
print(t[0])
print(t[1])
print(t[2]) # 索引取值,索引从0开始
print(t[-1])
print(t[-2]) # 负数代表的就是方向
2.3.2、切片
t = (1, 2, 3, 4)
print(t[0:2]) # (1, 2)
print(t[0:]) # (1, 2)
print(t[:2]) # (1, 2)
print(t[0:3:2]) # (1, 2)
2.3.3、长度
t = (1, 2, 3, 4)
print(len(t))
2.3.4、成员运算符
tuple1 = (1, 'hhaha', 15000.00, 11, 22, 33)
# tuple1 = 'hhaha' in tuple1 # Ture
# tuple1 = 'hhaha' not in tuple1 # False
print(tuple1)
2.3.5、循环
t = (1, 2, 3, 4)
for line in t:
print(line)
3、面试题
t = (1, 2, 3, ['a', 'b', 'c'])
t[3].append('d') # (1, 2, 3, ['a', 'b', 'c', 'd'])
t[1] = 666 # 报错
print(t)
# 2
t1 = (123)
t2 = (1.123)
t3 = (1)
t4 = (1234, )
# <class 'int'> <class 'float'> <class 'int'>
print(type(t1), type(t2), type(t3), type(t4)) # <class 'tuple'>
'''当元组内只有一个元素的时候,也要加上逗号结尾,否则不是元组类型!'''
l = [1, ]
print(type(l)) # <class 'list'>
'''建议:
只要是容器类型,当元素只有一个的时候,建议都加上逗号
容器类型:
只要是能够存放多个元素的数据类型都可以称之为是容器类型
'''
3、集合
1、集合定义
s = {1,2,3}
s = set(1,2,3)
2、类型转换
print(set(123)) # 不行
print(set(123.1)) # 不行
print(set('hello')) # {'e', 'o', 'l', 'h'}
print(set([1, 2, 3, 4, 4, 3, 2, 1])) # {1, 2, 3, 4}
print(set((1, 2, 3, 4, 5))) # {1, 2, 3, 4, 5}
print(set({'username': 'kevin', 'age': 28})) # {'age', 'username'}
'''集合能够把支持for循环的数据类型都转为元组类型!'''
3、集合的作用:
"""课堂练习1:"""
3.1、s = {1, 2, 3, 4, 4, 3, 2, 23, 534, 65, 76, 78, 43, 324, }
print(s) # {1, 2, 3, 4, 65, 324, 43, 76, 78, 534, 23}
3.2、name_list = ['kevin', 'tank', 'tony', 'tony', 'jack', 'jack', 'jack', 'tony', 'ly',]
# 基本要求:去重
print(set(name_list)) # {'tank', 'jack', 'kevin'}
# 再次转为列表
print(list(set(name_list))) # ['kevin', 'tank', 'jack']
#### 拔高要求
# 去重,并且保留原来的顺序
new_list = [] # 用来存放取出之后的元素
for name in name_list:
# name----->列表的一个个元素
if name not in new_list:
new_list.append(name)
print(new_list) # ['kevin', 'tank', 'tony', 'jack', 'ly']
4、集合的关系运算
friends1 = {"zero","kevin","jason","egon"} # 用户1的好友们
friends2 = {"Jy","ricky","jason","egon"} # 用户2的好友们
1、合集/并集(|):求两个用户所有的好友(重复好友只留一个
print(friends1 | friends2) # {'zero', 'kevin', 'ricky', 'Jy', 'jason', 'egon'}
2、交集(&):求出两个用户的共同好友
print(friends1 & friends2) # {'jason', 'egon'}
3、差集(-):求出变量一的差集
print(friends1 - friends2) # {'kevin', 'zero'}
print(friends2 - friends1) # {'Jy', 'ricky'}
4、对称差集(^):求两个用户独有的好友们(即去掉共有的好友
print(friends1 ^ friends2)
5、值是否相等(==):
print(friends1 == friends2) # False
6、父集、子集
print({1, 2, 3} >= {1, 2, 3}) # True
print({1, 2, 3} < {1, 2}) # True
'''
包含的话则返回Ture、不包括返回False
'''
标签:username,内置,name,Python,18,age,元组,print,kevin
From: https://www.cnblogs.com/chao0308/p/17421054.html