元组及内置方法,字典及内置方法,集合及内置方法。
元组 tuple:与列表类似可以存多个值,但是不同的是元组本身不可以被修改。
我们知道列表是用中括号标识的,但是元组是用小括号标识的,但是真正的标识是逗号,也就是元组后面必须加逗号。
例如:
>>> y = (1,2,3)
>>> y
(1, 2, 3)
>>> y1 = 1,2,3 # 不加括号只加逗号输出也是元组,创建元组逗号是必须要加的。
>>> y1
(1, 2, 3)
>>> y2 = 1 # 没加逗号定义的就不是元组,此时输出为整型。
>>> y2
1
>>> y3 = 1, # 加上逗号之后此时输出为元组。逗号一定要加。
>>> y3
(1,)
元组先掌握的操作:
1、按索引取值(正向取+反向取):只能取
del: 删除
y = (1, 2, 3, 'a', 'b', [1, 2, 3])
print(y[0])
y[1] = 'hi' # 报错 无法修改元组里不可变的值
y[-1] = 'hi' # 报错 无法修改元组里不可变的值
y[-1][0] = '可以修改' # 但是只能修改元组里列表内的值,列表是可变的。
print(y)
del y[-1][0] # 也只能删除元组里列表内的值
print(y)
元组的切片取值,计算长度;in和not in;循环:
y = (1, 2, 3, 'a', 'b', [1, 2, 3]) print(y[::2]) # 步数为1取值 print(len(y)) # 元组内数值的个数 print("b" in y) # b是否在元组y里 print("c" not in y) # c是否不在元组y里 for i in y: # 循环打印出元组y里的所有值 print(i)
#输出结果如下:
(1, 3, 'b') 6 True True 1 2 3 a b [1, 2, 3]
定义:元组能存多个值,是有序不可变的。
字典及内置方法
字典dict:能存存储多组 key:value键值对 key是对value的描述 key通常情况下都是字符串
其实这个key只能是不可变类型,value可以是任意数据类型
d1 = {"name":"小明","statrue":180,"weight":185} print(d1["name"]) # 访问字典里的值 print(d1["weight"]) d1["age"]=18 # 赋值语句当key不存在的情况下,会自动新增一个键值对 print(d1) print(len(d1)) # 统计键值对个数 print("185"in d1) # 判断185是否在字典d1里面,结果为False因为用户能操作的只有key。 print("weight"in d1) # 判断key值weight是否在字典d1里面,结果为True
#输出结果为:
小明 185 {'name': '小明', 'statrue': 180, 'weight': 185, 'age': 18} 4 False True
d = {"name":"小明","name":"小红","name":"小芳","statrue":180,"weight":185} print(d) # 字典的key是不能重复的 要唯一标识一条数据;如果重复了 只会按照最后一组重复的键值对存储
#输出结果为:
{'name': '小芳', 'statrue': 180, 'weight': 185}
删除字典里的元素:
d2 = {"name":"小明","statrue":180,"weight":185}
del d2["name"] # 只删除键值对name
#输出为:
{'statrue': 180, 'weight': 185}
d3 = {"name":"小明","statrue":180,"weight":185}
res = d3.pop("name") # 弹出仅仅是value
res = d3.pop('age') # 当键不存在的时候直接报错
d4 = {"name":"小明","statrue":180,"weight":185}
d4.clear() #删除字典里的所有键值对。
#输出结果为:
{}
字典的定义形式:
d = {"name":"小军","age":18}
print(d,type(d))
d2 = dict (name="小军",age="18")
print(d2,type(d2))
#输出结果为:
{'name': '小军', 'age': 18} <class 'dict'>
{'name': '小军', 'age': '18'} <class 'dict'>
字典中键keys(),值values(),键值对items()
d1 = {"name":"小明","statrue":180,"weight":185}
print(d1.keys()) # 取出字典中所有key值。
for k in d1.keys(): # 循环取出字典中所有key值。
print(k)
print(d1.values()) # 取出字典中所有valuse值
for v in d1.values(): # 循环取出字典中所有valuse值
print(v)
print(d1.items()) # 取出字典里的所有键值对。
# 输出结果为:
dict_keys(['name', 'statrue', 'weight'])
name
statrue
weight
dict_values(['小明', 180, 185])
小明
180
185
dict_items([('name', '小明'), ('statrue', 180), ('weight', 185)])
字典定义:存多个值,无序可变的。
集合及内置方法:
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
# 定义集合;查看集合长度len;判断元素是否在集合里in 和not in
j = {1, 2, 3, 4, 5, 6,}
print(type(j))
j1 = set() # 定义空集和
print(type(j1))
print(len(j)) # 查看长度。
print(6 in j) # 判断6是在集合j里
print(6 not in j) # 判断6不在集合j里
#输出结果为:
<class 'set'>
<class 'set'>
6
True
False
集合的运算
集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算,无需纠结于集合中单个值
my = {9, 8, 7, 6, 5, 4, 3}
you ={1, 2, 3, 4, 5, 6, 7}
print(my & you) # 输出my和you共同拥有的数字 &
print(my - you) # 输出my单独拥有的数字 -
print(you - my) # 输出you单独拥有的数字
print(my ^ you) # 输出不是my和you共同拥有的数字 ^
print(my | you) # 输出my和you拥有的所有数字 |
# 输出结果为:
{3, 4, 5, 6, 7}
{8, 9}
{1, 2}
{1, 2, 8, 9}
{1, 2, 3, 4, 5, 6, 7, 8, 9}
集合add:往集合里添加元素
fruits = {"apple", "banana", "cherry"}
fruits.add("orange") # 把orange添加到集合fruist里面。
print(fruits)
#输出结果为:
{'banana', 'apple', 'orange', 'cherry'}
fruits = {"apple", "banana", "cherry"}
fruits.add("apple") # 已存在的元素不会再添加进去。
print(fruits)
# 输出结果为:
{'apple', 'banana', 'cherry'}
集合:可以包含多个元素,用逗号分割,每个元素必须是不可变类型,没有重复的元素。