本文主要介绍Python元组、字典、集合:
元组及使用
元组是顺序存储相同/不同类型的元素,与列表类似,但存储是元素是不可变的,用来描述不需要改变的信息;元组使用小括号,列表使用方括号。
元组定义,使用()将元素括起来,元素之间用","隔开,不支持增删改
#定义元组
db_info = ("192.168.10.1",3306,"root","root123")
特性:通过下标查询元组指定位置的元素
ip = db_info[0]
port = db_info[1]
空元组定义:
none_tuple = ()
只包含一个元素的元组:
one_tuple = ("one",) #一定要加","
循环遍历元组
for item in db_info:
print(item)
字典及使用
字典是另一种可变容器模型,且可存储任意类型对象。存储Key-Value键值对类型的数据(与Java中的哈希表类似)
字典定义:字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中: {key1:value1, key2:value2, key3:value3, ...}
user_info_dict = {"name":"xmamiga","age":100,"gender":"male","job":"coder"}
查询:根据Key查找Value
print(user_info_dict["name"])
字典具有添加、修改、删除操作
#添加键值对
user_info_dict["tel"] = "13812345567"
print(user_info_dict)
#修改
user_info_dict["tel"] = "138888888888"
print(user_info_dict)
#删除
del user_info_dict["tel"]
print(user_info_dict)
内置方法:get、keys、value、items、clear
循环遍历字典
#字典 get使用,可以有默认值
print(user_info_dict.get("tel","10010"))
#keys获取字典中所有的key
for key in user_info_dict.keys():
print("{}:{}".format(key,user_info_dict[key]))
#values获取字典中所有的values
for value in user_info_dict.values():
print(value)
#items方法使用
for item in user_info_dict.items():
# print(type(item))
print(item)
print(item[0])
print(item[1])
for key,value in user_info_dict.items():
print(key)
print(value)
#clear()清空字典
user_info_dict.clear()
print(user_info_dict)
- 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住;
- 键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行。
集合Set及使用
无序存储不同数据类型不复元素的序列;与列表和元组的区别,集合是无序的
集合定义:name_set = {"xiaoxin", "cchip", "xmamiga"}
使set(序列)对序列中元素去重,重复元素在set中自动被过滤,同时创建集合,例如:
name_set = set(["cchip", "xmamiga"])
创建空集合:
none_set = set()
傅in和not in判断一个元素在集合中是否存在
user_id = "id5"
if user_id in distinct_set:
print(user_id)
if user_id not in distinct_set:
print("{}不存在".format(user_id))
使用add(元素)方法添加一个元素到集合中
name_set = {"xmamiga","lisi"}
name_set.add("amigo")
print(name_set)
使用update(序列)方法将一个序列中的元素添加到集合中,同时对元素去重
#update(序列)
name_set.update(["悟空","八戒"])
print(name_set)
集合内置的一些方法:
remove(元素)根据元素值删除集合中指定元素,如果元素不存在,则报错
#remover(元素)
name_set.remove("悟空")
print(name_set)
discard(元素)根据元素值删除集合中指定元素,如果元素不存在,不会引发错误
#使用remove删除一个不存在的元素,会报错
name_set.remove("西游记")
#dicard(元素),删除一个不存在的元素,不会报错
name_set.discard("西游记")
pop()随机删除集合中的某个元素,并且返回被删除的元素
#pop()随机删除集合中的某个元素,并返回被删除的元素
print(name_set)
name = name_set.pop()
print(name_set)
clear()清空集合
集合操作
- 交集intersection(&)
#交集
num_set1 = {1,2,4,7}
num_set2 = {2,5,8,9}
inter_set1 = num_set1 & num_set2
inter_set2 = num_set1.intersection(num_set2)
print(inter_set1)
print(inter_set2)
- 并集union(|)
#并集
union_set1 = num_set1 | num_set2
union_set2 = num_set1.union(num_set2)
print(union_set1)
print(union_set2)
- 差集difference(-)
#差集
diff_set1 = num_set1 - num_set2
diff_set2 = num_set1.difference(num_set2)
print(diff_set1)
print(diff_set2)
- 对称差集(^)
#对称差集
sym_diff_set1 = num_set1 ^ num_set2
sym_diff_set2 = num_set1.symmetric_difference(num_set2)
print(sym_diff_set1)
print(sym_diff_set2)