1.对zip() 函数进行测试
print zip([1, 2, 3], ['a', 'b', 'c'])
结果:
#[(1, 'a'), (2, 'b'), (3, 'c')]
另外zip(*list)也就是数组前面带个星号,是上述操作的逆操作
print zip(*[(1, 'a'), (2, 'b'), (3, 'c')])
结果:
[(1, 2, 3), ('a', 'b', 'c')]
2.用lamda迭代元素相加、求偶数、相乘(log)
def testLamda():
li = [1, 2, 3, 4,5]
# 序列中的每个元素加1
a=map(lambda x: x+1, li) # [2,3,4,5,6]
# 返回序列中的偶数
b=filter(lambda x: x % 2 == 0, li) # [2, 4]
# 返回所有元素相乘的结果
c=reduce(lambda x, y: x * y, li) # 1*2*3*4*5 = 120
e=10
f=10
e=math.log(1)+math.log(2)+math.log(3)+math.log(4)+math.log(5)
d=math.log(c)
g=math.log(120)
print e,d,g
结果相同:4.78749174278 4.78749174278 4.78749174278
三个结果相同。
3.python 如何找出两个list中的相同元素
可以对第二个list的元素进行遍历,检查是否出现在第二个list当中,如果使用表理解,可以使用一行代码完成任务。
list1 = [1, 2, 3, 4, 5]
list2 = [4, 5, 6, 7, 8]
print [l for l in list1 if l in list2]
# [4,5]
如果每一个列表中均没有重复的元素,那么还有另外一种更好的办法。首先把两个list转换成set,然后对两个set取交集,即可得到两个list的重复元素。
set1 = set(list1)
set2 = set(list2)
print set1 & set2
# set([4, 5])
4.python两个list相乘、相加
可以使用map函数结合zip函数。下面的代码只适用于python2
l1 = [2, 2, 2, 2,3]
l2 = [3, 3, 3, 3]
prod = map(lambda (a, b): a * b, zip(l1, l2))
print prod
# [6, 6, 6, 6]
add = map(lambda (a, b): a + b, zip(l1, l2))
print add
# [5, 5, 5, 5]
5.python中怎么求一个数组中每一个数字的平方的和,怎么样让两个数组之间按顺序运算
x = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print sum([i * i for i in x])
y1 = range(10, 1, -2)
print y1 # [10, 8, 6, 4, 2]
y = range(10, 1, -1)
print y # [10, 9, 8, 7, 6, 5, 4, 3, 2]
print [x[i] * y[i] for i in range(0, 9)]
# [10, 18, 24, 28, 30, 30, 28, 24, 18]
6.python中列表,元组,字符串如何互相转换
Python中有三个内建函数:列表,元组和字符串,他们之间的互相转换使用三个函数,str(),tuple()和list(),具体示例如下所示:
s = "xxxxxss"
print list(s)
# ['x', 'x', 'x', 'x', 'x', 's', 's']
print tuple(s)
# ('x', 'x', 'x', 'x', 'x', 's', 's')
print tuple(list(s))
# ('x', 'x', 'x', 'x', 'x', 's', 's')
print list(tuple(s))
# ['x', 'x', 'x', 'x', 'x', 's', 's']
列表和元组转换为字符串则必须依靠join函数
print "".join(tuple(s))
# xxxxxss
print "".join(list(s))
# xxxxxss
print ",".join(list(s))
# x,x,x,x,x,s,s
print str(tuple(s))
# "('x', 'x', 'x', 'x', 'x', 's', 's')"
7. python 判断某个列表中的所有元素在另一个列表中
l1 = ['a', 'b', 'c']
l2 = ['d', 'b', 'c', 'a']
print set(l1).issubset(set(l2))
# True
python 判断某个列表中的所有元素在另一个列表中 点击打开链接
参考:
python的zip函数 点击打开链接
python中map()与zip()操作方法 点击打开链接(这个链接仅供参考)
filter - 廖雪峰的官方网站 点击打开链接
map/reduce - 廖雪峰的官方网站 点击打开链接
python几个内置函数之-filter,map,reduce 点击打开链接