码迷,mamicode.com
首页 > 编程语言 > 详细

Python学习笔记(三)

时间:2016-05-29 00:38:01      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:

set

1.set用于存储一组不重复的key值集合,但是不存储其value。

2.set有两种创建方式:

  • 用set函数,参数是list集合,例如:s=set([1,2,3,4,5]);
  • 用大括号包起来的集合字面量,例如: s={1,3}。

3.set常用操作

  • add(key)方法向set中添加元素,如果元素已经存在则不会生效
  • remove(key)方法可以删除元素。
  • | 操作符可以取集合并集
  • & 操作符取集合交集
  • - 求两个集合的差
  • ^求两个集合的异或。
# 创建set
a_set = {1, 2} # 单值set不需要加逗号
a_set = set(a_list)
# 创建空set
a_set = set()
# 创建空字典
a_set = {}  #由于从 Python 2 沿袭而来历史的古怪规定,不能使用两个花括号来创建空集合
# 添加值
a_set.add(4) # 接受单个参数
a_set.update({2, 4, 6})  
a_set.update([10, 20, 30]) 
a_set.update({3, 6, 9}, {1, 2, 3, 5, 8, 13}) 
# 删除值
a_set.discard(10)  # 若元素不存在则什么也不做
a_set.remove(21) # 若元素不存在则报错
a_set.pop() # 随机删除值(set无序),若集合为空则报错
a_set.clear() # 清空set,等价于a_set = set()
# 检测值
30 in a_set 
# 合并set
a_set.union(b_set)   # 返回一个新set
a = a | b # 与上一条等效,下同
# 两个set的交集
a_set.intersection(b_set)   # 返回一个新set
a = a & b
# 剔除set
a_set.difference(b_set)  # 返回a_set中不包含b_set值的新set
a = a - b
# 非交集
a_set.symmetric_difference(b_set)  # 返回仅在其中一个set中出现的值的新set
a = a ^ b
# 对称性, 结果都为true
# 集合是无序的。任何两个包含所有同样值(无一遗漏)的集合可认为是相等的
b_set.symmetric_difference(a_set) == a_set.symmetric_difference(b_set) 
b_set.union(a_set) == a_set.union(b_set) 
b_set.intersection(a_set) == a_set.intersection(b_set) 
# 检测子集
a_set.issubset(b_set) # 前者是否是后者的子集
b_set.issuperset(a_set) # 前者是否是后者的父集

三目运算符 

a=1
b=2
if a<b:                     #一般条件语句的写法
    k=a
else:
    k=b
    
c=a if a<b else b         #三目运算符的写法 

深拷贝浅拷贝

1、数字和字符串

对于数字和字符串而言,深拷贝,浅拷贝没有什么区别,因为对于数字数字和字符串一旦创建便不能被修改,假如对于字符串进行替代操作,只会在内存中重新生产一个字符串,而对于原字符串,并没有改变,基于这点,深拷贝和浅拷贝对于数字和字符串没有什么区别。

2、字典、列表等数据结构

技术分享

浅拷贝

技术分享

深拷贝

函数

1、定义

定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。

定义函数的格式为:

def 函数名(参数1,参数2,...,参数n):

    函数体(语句块)

2、参数

普通参数
普通参数即是用户在调用函数是填入的参数,且参数位置必须与参数保持一致。
def foo(p1,p2,p3,...)

指定参数
指定参数即在用户调用函数的时候不需要按照函数中参数的位置中所填写,指定参数是需要制定参数对应的值。
def foo(p1=value1,p2=value2,...)

默认参数
默认参数可以写在定义参数的后面,如果用户调用函数是没有制定参数,那么就会用默认参数,如果用户指定了参数,那么用户指定的参数就会代替默认参数。
def foo(p1,p2=value2,...)

动态参数
动态参数可以接受用户输入的任何参数,包括字典、列表、元组等数据类型。
动态参数——传输元组
def foo(*args)
动态参数——传输字典
def foo(**args)
def foo(x,y=2,*args,**args)

 

Python学习笔记(三)

标签:

原文地址:http://www.cnblogs.com/suliuer/p/5538578.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!