美文网首页
递归,字典和键笔记

递归,字典和键笔记

作者: stalker丨 | 来源:发表于2019-03-26 18:47 被阅读0次

有一对兔子一个月之后每个月生一对兔子 n年后会有多少对兔子(斐波那契数列)

def fun(n):

    if n == 1 or n==2:

        return 1

    else:

        return fun(n-1)+fun(n-2)

x = int(input('请输入经过了多少月'))

y = fun(x)

print('%d月共有%d对兔子'%(x,y))

    汉诺塔递归:

def hanoi(n,x,y,z):

    if n == 1:

        print(x,'-->',z)

    else:

        #将n-1个盘子借助z从x移动到y

        hanoi(n-1,x,z,y)

        #将x最底下的盘子从x移动到z

        print(x,'-->',z)

        #将y上的n-1个盘子借助x移动到z

        hanoi(n-1,y,x,z)

n = int(input('请输入汉诺塔的层数'))

hanoi(n,'x','y','z')

    字典和键

1.字典

dict1={'字符串':'字符串',......}

print(dict1['字符串'])

dict2 = {1:'one',2:'two',3:'three'}

dict2

{1:'one',2:'two',3:'three'}

dict2[2]

'two'

dict3 = dict((('f',70),('i',105),('s',115),('h',104),('c',67)))

dict3

{'f':70,'i':105,'s':115,'h':104,'c':67}

dict4 = dict(字符串1='字符串2',字符串3='字符串4')

dict4

{'字符串3':字符串4,'字符串1':字符串2}

------->字典功能可以类比linux的vi  没有则会创建

2.键

>>> dict1 = {}

>>> dict1.fromkeys((1,2,3))

{1: None, 2: None, 3: None}

>>> dict2 = {}

>>> dict2 = dict2.fromkeys(range(6),'hi')

>>> dict 2

{0: 'hi', 1: 'hi', 2: 'hi', 3: 'hi', 4: 'hi', 5: 'hi'}

keys  values  items

for eachKey in dict2.keys():

    print(eachKey)

0

1

2

3

4

5

for eachValue in dict2.values():

    print(eachValue)

hi

hi

hi

hi

hi

hi

for eachItem in dict2.items():

    print(eachItem)

(0, 'hi')

(1, 'hi')

(2, 'hi')

(3, 'hi')

(4, 'hi')

(5, 'hi')

-----查询是否在字典中-----

>>> 5 in dict2

True

>>> 7 in dict2

False

----清空字典-----

dict2.clear()

-----字典拷贝----

dict3 = dict2.copy()

--------从字典中弹出一个数------

>>> dict2 

{0: 'hi', 1: 'hi', 2: 'hi', 3: 'hi', 4: 'hi', 5: 'hi'}

>>> dict2.pop(2)    ----->指定弹出哪个位置的数

'hi'

>>> dict2.popitem()    ------>随机弹出一个位置的数

(5, 'hi')

>>>

------在字典的一个随机位置加入一个对应的值----

>>> dict2

{0: 'hi', 1: 'hi', 3: 'hi', 4: 'hi'}

>>> dict2.setdefault(9,'hello')

'hello'

>>> dict2

{0: 'hi', 1: 'hi', 3: 'hi', 4: 'hi', 9: 'hello'}

>>>

-------在字典中通过映射更新一个数据的值------

>>> dict2

{0: 'hi', 1: 'hi', 3: 'hi', 4: 'hi', 9: 'hello'}

>>> dict3 = {'9':'hi'}

>>> dict2.update(dict3)

>>> dict2

{0: 'hi', 1: 'hi', 3: 'hi', 4: 'hi', 9: 'hello', '9': 'hi'}

>>>

---------------------集合-------------------

集合中没有重复的元素

#如何创建集合

1.直接用花括号把一堆元素括起来

2.用set()函数

set1 = set([1,2,3,4,5,5])

#将列表中重复元素删除

1.直接在列表中进行追加

num1=[1,2,3,4,5,5,3,1,0]

temp = []

for each in num1:

    if each not in temp:

        temp.append(each)#如果each在temp中没有 则对temp进行追加

2.集合的方法

num1 = list(set(num1))

num2 = frozenset([1,2,3,4,5]) #不可变集合

相关文章

  • 递归,字典和键笔记

    有一对兔子一个月之后每个月生一对兔子 n年后会有多少对兔子(斐波那契数列) def fun(n): if n...

  • 递归和字典

    总结,递归就是把一个大问题,转化为比他小一点的问题,然后再转化为比他小一点的问题的小一点的问题,最终小到一个已知的...

  • 07-字典与集合的操作

    字典 创建多个元素的字典 字典的遍历 遍历键 遍历键和值 字典的内置函数 clear() 清空字典 **copy...

  • python 字典

    字典 ❤ 创建使用花括号{};修改和添加元素的方法:字典名[字典的键]=值;删除元素:del 字典名[字典的键] ...

  • 【Python基础】10. 字典

    本篇笔记知识点:字典基本概念字典键(key)的特性字典的创建字典的增删改查 字典的基本概念 字典一种key - v...

  • 2021-02-19 python 4-5章学习

    字典字典修改和新增操作删除 del 字典名 [键]和pop(item)和popitem()方法clear方法对字典...

  • 1.1.4 python基本数据类型之字典

    点击跳转笔记总目录 一,python字典 1,字典的创建 键必须是唯一的,但值则不必。值可以取任何数据类型,但键必...

  • python从入门到实践第六章——字典

    '''字典名 = {键1:值,键2:值,...}''''''访问字典中的值:字典名 = 【键】'''alien_0...

  • Counter

    Counter是dict字典的子类,Counter拥有类似字典的key键和value值,只不过Counter的键为...

  • 字典

    字典:一系列键-值对,键和值之间用冒号分隔,键值对之间用逗号分隔,字典用大括号 1.使用字典 1.1 访问字典中的...

网友评论

      本文标题:递归,字典和键笔记

      本文链接:https://www.haomeiwen.com/subject/rvvnvqtx.html