python学习笔记2

1、dict(字典);使用键-值(key-value)存储,具有极快的查找速度

  d = {'name':'小明', 'age':26, 'sex':'男', 'area':'长沙'}

  print('name1' in d)    #键 in 字典 判断键是否存在。存在为True,否则False

  print(d.get('name1'))   #d.get() 获取字典dict中键为name1的值,不存在返回None

  d.pop('area')       #d.pop() 删除字典的最后一个元素

  print(d['name'])          #读取dict里面的值

  和list比较,dict有以下几个特点:

    查找和插入的速度极快,不会随着key的增加而变慢;

    需要占用大量的内存,内存浪费多。

  而list相反:

    查找和插入的时间随着元素的增加而增加;

    占用空间小,浪费内存很少。

2、set(key=>value)的集合,但不存value,key不能重复,重复元素在set中自动被过滤:

  s = set([1,1,2,2,3,3,4])

  print(s)  #{1, 2, 3, 4}

  s.add(5)

  print(s)  #{1, 2, 3, 4, 5}

  s.remove(1)

  print(s)  #{2, 3, 4, 5}

  s1 = set([1,2,3,4])

  s2 = set([2,3,4,5])

  print(s1 & s2) # &交集  #{2, 3, 4}

  print(s1 | s2) # |并集  #{1, 2, 3, 4, 5}

3、可变对象(list)、不可变对象(set)

  s1 = [1,3,4,12,6,9,2,7]
  s1.sort() # sort()集合排序
  print(s1)  #[1, 2, 3, 4, 6, 7, 9, 12]

  s1 = 'abcd'
  s2 = s1.replace('a', 'A') # replace()字符串替换
  print(s2)  #Abcd

4、内置函数

  print(abs(-11))

  print(max(12, 34, 56, 78, 90))

  #数据类型转换

  print(str(11))

  print(int('11'))

  print(float(11))

  print(bool(11))

5、自定义函数;使用def语句,依次写出函数名、括号、括号中的参数和冒号:如

  import math   #导入数学库

  def move(x, y, step, angle=0):

    nx = x + step * math.cos(angle)

    ny = y - step * math.sin(angle)

  return nx, ny

  r = move(100, 100, 60, math.pi / 6)

  print(r)   #(151.96152422706632, 70.0)tuple元组

6、例题:求ax2 + bx + c = 0二个解

  import math
  def quadratic(a, b, c):
    tmp = b * b - 4 * a * c
    if tmp < 0:
      return None
    elif tmp == 0:
      return -b/(2 * a)
    else:
    x=(-b + math.sqrt(tmp))/(2 * a)
    y=(-b - math.sqrt(tmp))/(2 * a)
    return x,y
  print(quadratic(2, 3, 1))

  

猜你喜欢

转载自www.cnblogs.com/liujiyun/p/9141091.html
今日推荐