python基础知识之字典和列表

来源:互联网 发布:高手寂寞 知乎 编辑:程序博客网 时间:2024/05/22 13:49

1. 字典操作

1) items()

将字典转换为键值对的列表

my_dict = {    "morning": "apple",    "afterning": "banana",    "evening": "strawberry"    }print my_dict.items()

items()

2) keys()/values()

my_dict = {    "morning": "apple",    "afterning": "banana",    "evening": "strawberry"    }print my_dict.keys()print my_dict.values()

keys()/values()

3) for

my_dict = {    "morning": "apple",    "afterning": "banana",    "evening": "strawberry"    }for key in my_dict:    print key, my_dict[key]

for
使用print 输出时,想要空格做间隔,使用print a, b 取代print a + ' ' + b

2. list

1) list comprehension

even_squares = [x ** x for x in range(1, 11) if x % 2 == 0]print even_squares

list comprehension
输出[1, 10]中偶数的平方

2) list slicing syntax

list[start:end:stride]#strat开始位置,包括strat#end结束位置,不包括end#stride每两个元素之间的距离
l = [i ** 2 for i in range(1,11)]#l = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]print l[2:9:2]#输出:[9, 25, 49, 81]

如果stride为负数,则从右向左输出

my_list = range(1, 11)backwards = my_list[::-1]print backwards#输出[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

3. 匿名函数 Lambda Syntax

my_list = range(16)print filter(lambda x: x % 3 == 0, my_list)#输出[0, 3, 6, 9, 12, 15]
lambda x: x % 3 == 0#相当于def by_three(x):    return x % 3 == 0#省略函数名

filter 函数第一个参数为一个匿名函数,第二个参数为要过滤的对象
将函数作为参数传递,体现了python的函数式编程

4. 二进制运算

以0b开头的数字,均看做二进制数

print 0b1,print 0b10#输出:1 2

1) bin函数

将数字转换为二进制

for num in range(2, 6):    print bin(num)

这里写图片描述

2) int函数的第二个参数

int函数的第二个参数表示,第一个参数是几进制
返回十进制数

print int("1",2)print int("10",2)print int("111",2)print int("0b100",2)print int(bin(5),2)print int("11001001", 2)

这里写图片描述

3) & | ^ ~

#&按位与运算print bin(0b111 & 0b101)#|按位或运算print bin(0b111 | 0b101)#^异或运算print bin(0b111 ^ 0b101)#~加1取反print ~5print bin(~-5)

这里写图片描述

0 0