Python 基本操作笔记

# 基础知识学习

# 显示

print(3)

print(3**3) # 幂计算

print("冬天的一把火")

print("这句话是'动态经济学'") # 多重字符显示

# 多行注释

'''

注释1

注释2

注释3

'''

# 多重赋值

a,b,c=2,3,4

# 字符拼接

print('Very much' + 'I like it !')

# 字符分隔

b='你好呀,你叫什么名字?'

c='i like it very much'

print(b.split(',')) #将 b 以 “,” 为识别号进行分隔

print(c.split(' '))

# 循环语句 for ; while ; if

# 自定义函数

def jiahe(a,b):

c=a+b

return c

print(jiahe(3,5))

# for循环语句

def sum(n): # 求和函数

p=0

for i in range(1,n+1):

p=p+i

return p

print(sum(30))

# while 循环

def sum2(n):

p,i=0,0

while i

p=p+i

i=i+1

return p

print(sum2(30))

# if 语句

s=0

if s in range(4):

print('s在0,1,2,3')

if s not in range(1,4,1):

print('s不在1,2,3')

# 自定义序列,排列

for i in range(5):

print(i)

for j in (1,3,2,1):

print(j)

## --- 数据结构 --- ##

# ----------------------------------------------------------------------------- 列表 (List) / 元组(Tuple)

list1=[1,2,3,'a',[1,2,3]] # 用[] 里面什么都可以放

print(list1[0:4]) # 访问方式也是 [下标]

print(list1[3])

print(list1[4])

list1[0]='修改' # 列表元素可以被修改

copy1=list1 # !!!! 这里只是将 list1 重新增加个别名,而非复制值 给 copy1, 复制方式:copy1=list1[:]

print(list1)

# - 元组 (Tuple)

tuple1=(1,2,3,'您好',[1,2]) # 元组 可以放任何东西,但用 () 来表示

#---------------------------------------------------------------

# try:

# tuple1(1)=2 # 会报错,元组元素不能被修改

# except:

# print('Tuple元组 元素 不能修改')

#---------------------------------------------------------------

# 将对象转换为:list 或 tuple

print(list('very much')) # list函数

print(list1) # tuple函数

print(tuple(list1))

# 列表/元组 函数比较

import operator

print(operator.eq([1,2,3,'a'],[1,5,3,'a'])) # 比较两个 列表 / 元组 的元素

print(operator.eq('ab','ab'))

# min(a)/sum(a)/max(a)

# len(a): 计算 元组 / 列表 元素个数

# sorted(a): 对列表的元素进行升序排列

# 列表的常用函数

ex=[1,2,3,4,1,2,3,7,4,2]

ex.append('增加项') # 尾部增加一项 也可以使用 ex.extend()函数

print(ex.count(1)) # 统计元素 1 在ex中的频率

print(ex.index(4)) # 在列表ex中元素 1 的 下标 (首个出现的下标)

print(ex.insert(2,1))# 在索引 2 位置 插入元素 1

print(ex.pop(2)) # 移除列表位置2的元素

# 列表解析

#----------------

a=[1,2,3]

b=[]

for i in a:

b.append(i+2)

#----------------等同上面代码

a=[1,2,3]

b=[i+2 for i in a]

# ----------------------------------------------------------------------------- 字典 (字典很多操作类似 list )

# (自定义 键 与 值 之间的映射, 键必须是唯一的)

# 创建

d1={'today':20,'tomorrow':30} # 方式一

d2=dict([['today',20],['tomorrow',30]]) # 方式二

d3=dict.fromkeys(['today','tomorrow'],20) # 方式三

# 访问

print(d1['today'])

# ----------------------------------------------------------------------------- 集合

# 1. 元素不能重复,无序; 2. 不支持索引 3. 用 {}/set()函数创建

s1= # 最后一个2会自动剔除

s2=set([1,2,3,2,3,1]) # 将列表转换为集合

# 由于集合的特殊性质 无序性等 所有存在一些特殊的算法;

a=s1s2 # 计算s1 s2的 合集

b=s1&s2 # 计算两个集合的 并集

c=s1-s2 # 求差集 (在s1中 而不再s2中)

d=s1^s2 # 对称差值 (在 s1 或者 s2 中,但不同时存在s1和s2中)

#-------------------------------------------------------函数式编程 lambda/map/reduce/filter. --速度效率较for函数高

# 方便定义简单的函数

# lambda定义 (太好用了)

f=lambda x: x+2 # 定义了一个函数 f(x)=x+2

g=lambda x,y: x**y+x # 定义了一个函数 f(x,y)=x+y

print(f(4))

print(g(2,3))

# map函数(等价函数操作)

b1=[i+2 for i in a]

b2=map(lambda x:x+2,a) # 将a元素给 x,然后使用 x+2函数计算得到结果给 b2 ,逐一历遍

print(list(b2))

# reduce函数

from functools import reduce

reduce(lambda x,y:x*y,range(1,3+1)) # 首先列表前两个元素赋值x,y计算,然后将计算结果和后面第三个元素计算,依次计算。。。

print(reduce(lambda x,y:x*y,range(1,10+1))) # 等价于 10!

# filter函数: 筛选出满足要求的元素

b=filter(lambda x:x>5 and x

b=list(b)

# 等价如下函数

b=[i for i in range(10) if i>5 and i

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180109G037D500?refer=cp_1026

相关快讯

扫码关注云+社区