Python基础知识

1. 基本数据类型

1.1 dict:字典其实是一堆键值对(key value pair),字为键(key),而相应的解释为值(value)

#dict基本操作

#初始化一个dict类型变量

x = {"a":1,"b":2,"c":3}

print(x)
{'a': 1, 'b': 2, 'c': 3}

#读取x中某一个元素

print(x["a"],"1",x.get("a"))
1 1 1

#读取不存在的元素会直接报错

print(x["d"])
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-8-2c00af4c2268> in <module>()
----> 1 print(x["d"])

KeyError: 'd'

print(x.get("d","no such key"))
no such key

#修改dict
x["c"] = 4
print(x)
{'a': 1, 'b': 2, 'c': 4}

#删除键值对

del x["c"]

print(x)
{'a': 1, 'b': 2}

1.2 list:就是列表类型,可以将任意一个元素放进列表

#list基本操作

#初始化一个list变量y

y=["A","B","C","a","b","c"]

print(y)
['A', 'B', 'C', 'a', 'b', 'c']

#读取y中元素

print(y[0])
A

print(y[-1])
c

print(y[0:3])
['A', 'B', 'C']

#查找y的元素

print(y.index("a"))
3

#修改list

y[0] = 4

print(y)
[4, 'B', 'C', 'a', 'b', 'c']

#在y的最后面插入元素

y.append(5)

print(y)
[4, 'B', 'C', 'a', 'b', 'c', 5]

#在指定位置插入元素

y.insert(3,"new")

print(y)
[4, 'B', 'C', 'new', 'a', 'b', 'c', 5]

#两个list合并,和append是有区别的

print(y+["d","e"])
[4, 'B', 'C', 'new', 'a', 'b', 'c', 5, 'd', 'e']

y.append(["d","e"])

print(y)
[4, 'B', 'C', 'new', 'a', 'b', 'c', 5, ['d', 'e']]

#删除lsit元素

y.remove("B")

print(y)
[4, 'C', 'new', 'a', 'b', 'c', 5, ['d', 'e']]

1.3tuple类型

#tuple基本操作

#初始化一个tuple类型变量z

z = ("a","b","c","d","e")

print(z)
('a', 'b', 'c', 'd', 'e')

#读取z中的元素,与list类似

print(z[0])
a

print(z[-1])
e

print(z[0:3])
('a', 'b', 'c')

#tuple一旦初始化就不能修改

z[0] = 5
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-54-d46bec7c52da> in <module>()
----> 1 z[0] = 5

TypeError: 'tuple' object does not support item assignment

2. lambda表达式和常用的内置函数

lambda表达式类似于函数,以关键字lambda开头,之后是参数列表,并以“:”结尾,接着就是只有一行语句的表达式主题。什么时候会用到lambda表达式呢,创建匿名函数时。

2.1 lambda表达式和常用内置函数

def f(a,b):
    return a+b
print(f(1,2))

3

g = lambda x,y:x+y

print(g(1,2))
3

2.2 lambda表达式和常用内置函数

L = range(6)

print(L)
range(0, 6)

#下面的操作将生成一个新的列表,列表里面的元素为L里元素加1

def addOne(data):
    re = []
    for i in data:
        re.append(i+1)
    return re

print(addOne(L))
[1, 2, 3, 4, 5, 6]

#通过内置的map函数和lambda表达式也可以达到相同的效果

 print(map(lambda x:x+1,L))
<map object at 0x0000000005AEAB00>

#达到同样功能的列表生成式

print([i+1 for i in L])
[1, 2, 3, 4, 5, 6]

内置的map函数有两个参数,第一个是一个函数,第二个是一个可遍历的对象,如list、tuple、dict等,map函数将第二个参数里的每个元素依次传给第一个参数的函数,并将函数的返回值依序组成一个列表。lambda定义了一个匿名函数,因为它起到了函数的功能,却没有任何标识符来代表它,所以称为匿名函数

2.3 lambda表达式和常用内置函数

#计算L中每个元素的两倍和平方,并将两种组成一个列表

#lambda表达式和Python函数一样,也可以接受函数作为参数

twoTimes = lambda x: x*2

square = lambda x:x**2

print(map(lambda x:x(i),[twoTimes,square])for i in L)
<generator object <genexpr> at 0x0000000005A4CBF8>

2.4 lambda表达式和常用内置函数

#内置filter函数,选择L中的偶数

filter(lambda x:x % 2 == 0,L)
Out[88]: <filter at 0x5afad30>

list(filter(lambda x:x % 2 == 0,L))
Out[92]: [0, 2, 4]

#内置reduce函数,计算L的和。Python 3版本需要先导入reduce

from functools import reduce

reduce(lambda x,y:x + y,L,0)

Out[112]: 15



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值