python 遍历List各种方式

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])

 

Python统计列表中的重复项出现的次数的方法 点击打开链接

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  点击打开链接

你可能感兴趣的:(Python高效数据分析)