1.val for val in b1 if val in b2
列表的交集与差集
b1=[1,2,3]
b2=[2,3,4]
b3 = [val for val in b1 if val in b2]
b4 = [val for val in b1 if val not in b2]
b5 = [val for val in b2 if val not in b1]
print (b3,b4,b5)
2.字典是python唯一的映射类型。阐述了键与键值之间的对应关系
3,
下列程序运行结果为:
a=[2, 4, 6, 8, 20,30,40]
print(a[::2])
print(a[-2:])
[2,6,20,40] [30 ,40]
对于具有序列结构的数据来说,切片操作的方法是:
consequence[start_index: end_index: step]。
请在这里输入引用内容
start_index:
表示是第一个元素对象,正索引位置默认为0;负索引位置默认为 -len(consequence)
end_index:
表示是最后一个元素对象,正索引位置默认为len(consequence)-1;负索引位置默认为 -1。
step:
表示取值的步长,默认为1,步长值不能为0。
4,map函数
搬运:
https://blog.csdn.net/quanlingtu1272/article/details/95482253
1 map()函数的简介以及语法:
map是python内置函数,会根据提供的函数对指定的序列做映射。
map()函数的格式是:
map(function,iterable,…)
第一个参数接受一个函数名,后面的参数接受一个或多个可迭代的序列,返回的是一个集合。
把函数依次作用在list中的每一个元素上,得到一个新的list并返回。注意,map不改变原list,而是返回一个新list。
2 map()函数实例:
def square(x):
return x ** 2
map(square,[1,2,3,4,5])
结果如下:
[1,4,9,16,25]
通过使用lambda匿名函数的方法使用map()函数:
map(lambda x, y: x+y,[1,3,5,7,9],[2,4,6,8,10])
结果如下:
[3,7,11,15,19]
通过lambda函数使返回值是一个元组:
map(lambdax, y : (x**y,x+y),[2,4,6],[3,2,1])
结果如下
[(8,5),(16,6),(6,7)]
当不传入function时,map()就等同于zip(),将多个列表相同位置的元素归并到一个元组:
map(None,[2,4,6],[3,2,1])
结果如下
[(2,3),(4,2),(6,1)]
通过map还可以实现类型转换
将元组转换为list:
map(int,(1,2,3))
结果如下:
[1,2,3]
将字符串转换为list:
map(int,'1234')
结果如下:
[1,2,3,4]
提取字典中的key,并将结果放在一个list中:
map(int,{1:2,2:3,3:4})
结果如下
[1,2,3]
5,字典get()方法:如果key在dict中则返回对应的值,否则返回default的值,其中default的值可自己指定
dict_name.get(key, default = None)
# key: 要设置默认值的Key
# default: 要返回key的值,可以是任何值,如整形、字符串、列表、字典等
# return: 如果字典中key本来有值,那么返回的是字典中Key所对应的值,如果没有,那么返回“default”中的值。
dict = {'1': 1, '2': 2}
print ("Value : %s" % dict.get('1'))
print ("Value : %s" % dict.get('2'))
print ("Value : %s" % dict.get('3', 0))
#输出
Value : 1
Value : 2
value : 0
6。__init__是当实例对象创建完成后被调用的,然后设置对象属性的一些初始值。
__new__是在实例创建之前被调用的,因为它的任务就是创建实例然后返回该实例,是个静态方法。
即,__new__在__init__之前被调用,__new__的返回值(实例)将传递给__init__方法的第一个参数,然后__init__给这个实例设置一些参数
7,Python有五个标准的数据类型:
- Numbers(数字) String(字符串) List(列表) Tuple(元组) Dictionary(字典)
** Python支持四种不同的数字类型:**
- int(有符号整型)
- long(长整型,也可以代表八进制和十六进制)
- float(浮点型)
- complex(复数)
8,str.index(str, beg=0, end=len(string))
Python中index() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。
str – 指定检索的字符串 beg – 开始索引,默认为0。end – 结束索引,默认为字符串的长度
返回值
如果包含子字符串返回开始的索引值,否则抛出异常。
str1 = "Hello,Python"
str2 = "Python"
print(str1.index(str2))#在str1里找str2的字符位置,Python在第六个位置,所以返回6
9
**id():**获取的是对象在内存的地址
==:比对2个变量的具体值是否相等,即通过地址(id)指向的内存中的具体值
is: 比对2个变量的对象引用是否相同,即判断id()获取的值是否相同,如果相同返回True,否则False.即判断2个变量是否指向同一个对象。
10.Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。
等号(=)用来给变量赋值。
等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。
原因如下:
Python 是弱类型脚本语言,变量就是变量,没有特定类型,因此不需要声明。
但每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
用 del 语句可以释放已创建的变量(已占用的资源)。