# zip 创建键值对 keys = ['Name','Sex','Age'] values = ['Jack','Male','23'] print(dict(zip(keys,values))) print(list(zip(keys,values))) print([list(i) for i in zip(keys,values)]) # #用zip函数进行组合,然后把返回的每个元素转list
# 列表推导式:求1-100之间的偶数 c = [x for x in range(1,100) if x%2==0] print(c)
# 判断其值真假 name = 'Tim' langs = ['AS3','Lua','C'] info = {'name':'Tim','sex':'Male','age':23}
# if name !='' and len(langs)>0 and info != {}: # print('All True!') if name and langs and info: print('All True!')
# 交互变量 a = 1 b = 3 # temp = a # a = b # b = temp a, b = b, a print('a=', a, 'b=', b)
# 说出下面list1,list2,list3的输出值 # 许多人会错误的认为 list1 应该等于 [10] 以及 list3 应该等于 ['a']。认为 list 的参数会在 extendList 每次被调用的时候会被设置成它的默认值[]; # 尽管如此,实际发生的事情是,新的默认列表仅仅只在函数被定义时创建一次。随后当 extendList 没有被指定的列表参数调用的时候,其使用的是同一个列表; # 这就是为什么当函数被定义的时候,表达式是用默认参数被计算,而不是它被调用的时候; # 因此,list1和list3 是操作的相同的列表。而list2是操作的它创建的独立的列表(通过传递它自己的空列表作为list参数的值); # 把list置为None就可以避免一些麻烦了;
# def extendList(val,list=[]): def extendList(val, list=None): if list is None: list = [] list.append(val) return list list1 = extendList(10) list2 = extendList(123,[]) list3 = extendList('a') print("list1 = %s" % list1) print("list2 = %s" % list2) print("list3 = %s" % list3)
# 下面代码会不会报错 # 不会报错,而是会输出一个[],并不会导致一个IndexError; list4 = ['a', 'b', 'c', 'd', 'e'] print(list4[10:])
# 写一个函数,输入一个字符串。返回倒序排列结果 def string_reversel(text="adfffgfdg"): return text[::-1] print(string_reversel())
# 按升序合并如下2个list,并出去重复的元素 L1 = [1, 2, 3, 4] L2 = [3, 4, 5, 6] print(list(set(L1+L2))) # 用其中一个list 与 另一个去除在前面list后的元素组成的list L3 = L1 + [x for x in L2 if x not in L1] print(L3) # 合并2个list生成dict(一个为keys,一个为values),先对2个list用zip函数,最后转换成dict keys = ['a', 'b', 'c'] value = [1, 2, 3] dictionary = dict(zip(keys, value)) print(dictionary) # dict转换成元素为tuple的list,用dict的items函数 print(dictionary.items()) # 2个list元素分别相加生成求和后的list,用map和operator.add from operator import add L4 = list(map(add, L1, L2)) print(L4) # 或者用zip和sum函数 L5 = [sum(x) for x in zip(L1,L2)] print(L5)
|