zoukankan      html  css  js  c++  java
  • python——元组和字典学习笔记

    1.count返回值的次数
    list=[2,2,2,3,3,3,3,4,4,4]
    a={}
    for i in list:
        if list.count(i)>1:
            a[i]=list.count(i)
    print(a)
    
    将具体的某个数的在列表中的次数返回
    list=[2,2,2,3,3,3,3,4,4,4]
    print(list)
    print(list.count(2))
    
    
    2.set 将list中不重复的所有值遍历出来
    
    list=[2,2,2,3,3,3,3,4,4,4]
    print(list)
    print(list.count(2))
    print(set(list))
    blist=set(list)
    print(blist)
    print(type(blist))
    for i in blist:
        print(i)
    
    
    3.修改list某项值
    list=[2,2,2,3,3,3,3,4,4,4]
    alist.index(2)
    alist[3]='zxiba'
    print(alist)
    
    4.位置0添加一个主席字符串
    a=['maozd','dengxp']
    a[0]+='主席'
    print(a)
    结果:
    
    在位置0添加并成3显示出来
    a=['maozd 主席','dengxp']
    a[0]*=3
    print(a)
    结果:
    ['maozd 主席 maozd 主席 maozd 主席','dengxp']
    
    5.排序类型
    sort排序类型(默认正序)
    (1)从小到大:
    list=[1,2,3,8,9,6,7,5,4]
    list.sort()
    print(list)
    结果:
    [1, 2, 3, 4, 5, 6, 7, 8, 9]
    (2)从大到小:
    list=[1,2,3,8,9,6,7,5,4]
    list.sort(reverse=True)
    print(list)
    结果:
    [9, 8, 7, 6, 5, 4, 3, 2, 1]
    (3)字母排序,会按照顺序进行排序
    numlist=list('bcjdiejk')
    numlist.sort()
    print(numlist)
    
    
    
    第五章  元组和字典
    1.字符串
    列表并不是唯一标识序列值的数据类型,字符串和列表实际上很相似,只要你认为字符串是个danger文本字符列表,所有对于列表的操作对字符串均有效。
    for i in 'axiba':
         print(i)
    
    a='axiba'
    a[:3]
    
    2.元组
    tuple()
    元组是只读的,不能增删改查
    元组和列表的区别:
    list--
    spam=list('axiba')
    print(spam)
    print(type(spam))
    tuple---
    spam=tuple('axiba')
    print(spam)
    print(type(spam))
    
    区别:
    spam=('axiba')
    'str' 类型
    spam1=('axiba',)
    'tuple' 类型
    
    3.函数的传递引用
    例子:
    
    
    def xblist(liname):
        liname.append('hello')
    spam=list('axiba')
    print(spam)
    xblist(spam)
    print(spam)
    
    结果:
    ['a', 'x', 'i', 'b', 'a']
    ['a', 'x', 'i', 'b', 'a', 'hello']
    
    
    3.字典列表和赋值的区别:
    字典和列表在复制的是都是一张相同纸上的东西,所以只有修改一个,另一个也会变,
    alist=[1,2,3,4,5,6,7]
    print(alist)
    blist=alist
    print(blist)
    alist[1]='##'
    print(alist)
    print(blist)
    
    赋值的话是独立的箱子,虽然等于了,但是a箱子的修改是独立操作的,所以b箱子是不会改变的。
    a=100
    b=a
    print(a)
    print(b)
    a+=100
    print(a)
    print(b)
    结果:
    100
    100
    200
    100
    
    4.copy模块(函数)
    分类:
    copy()函数
    可以赋值列表及字典这种可变类型值
    deepcopy()函数
    可以复制列表中包含的列表
    例:(copy)
    import copy
    spam=list('abcde')
    spam1=copy.copy(spam)
    spam[1]='##'
    print(spam)
    print(spam1)
    
    
    import copy
    spam=list('axiba')
    spam1=copy.copy(spam)
    print(spam)
    print(spam1)
    print('-----修该之前------')
    spam[0]='++'
    print(spam)
    print(spam1)
    结论:
    就是copy和赋值的方式有点像,是两个独立的箱子。
    
    
    例二 (deepcopy)
    可以拷贝list in list
    
    import copy
    spam=list('axiba')
    spam1=copy.deepcopy(spam)
    print(spam)
    print(spam1)
    print(spam==spam1)
    print(spam is spam1)
    print('-----修该之前------')
    spam[0]='++'
    print(spam)
    print(spam1)
    
    
    alist=[1,2,3,['a','b','c']]
    print(alist)
    
    一copy
    例子:
    
    import copy
    spam=[1,2,3,['a','b','c']]
    spam1=copy.copy(spam)
    print(spam)
    print(spam1)
    print(spam==spam1)
    print(spam is spam1)
    print('-----修该之前------')
    print(len(spam))
    spam[3][0]='++'
    print(spam)
    print(spam1)
    结论:
    和字段列表相像,有共同的一张纸,他们修改的是同一个箱子。
    
    
    二deepcopy
    例子:
    import copy
    spam=[1,2,3,['a','b','c']]
    spam1=copy.deepcopy(spam)
    print(spam)
    print(spam1)
    print(spam==spam1)
    print(spam is spam1)
    print('-----修该之前------')
    print(len(spam))
    spam[3][0]='++'
    spam[1]='@@'
    print(spam)
    print(spam1)
    结论:
    和赋值相像,有自己独立的箱子。
    
    5.小游戏:
    h = [
        ['.','.','.','.','.','.'],
        ['.','0','0','.','.','.'],
        ['0','0','0','0','.','.'],
        ['0','0','0','0','0','.'],
        ['.','0','0','0','0','0'],
        ['0','0','0','0','0','.'],
        ['0','0','0','0','.','.'],
        ['.','0','0','.','.','.'],
        ['.','.','.','.','.','.']
        ]
    步骤:
    1.
    for i in range(8):
        for j in range(6):
            print(h[i][j],end='')
        print()
    . . . . . . 
    . 0 0 . . . 
    0 0 0 0 . . 
    0 0 0 0 0 . 
    . 0 0 0 0 0 
    0 0 0 0 0 . 
    0 0 0 0 . . 
    . 0 0 . . . 
    
    2.
    for i in range(6):
        for j in range(9):
            print(h[j][i],end=' ')
        print()
    . . 0 0 . 0 0 . . 
    . 0 0 0 0 0 0 0 . 
    . 0 0 0 0 0 0 0 . 
    . . 0 0 0 0 0 . . 
    . . . 0 0 0 . . . 
    . . . . 0 . . . . 
    
    
    for i in range(5,-1,-1):
        for j in range(9):
            print(h[j][i],end=' ')  
        print()
    
    . . . . 0 . . . . 
    . . . 0 0 0 . . . 
    . . 0 0 0 0 0 . . 
    . 0 0 0 0 0 0 0 . 
    . 0 0 0 0 0 0 0 . 
    . . 0 0 . 0 0 . . 
    
    6.字典数据类型:
    只会有键——值对,
    key1:value1,key2:value2
    mystyle={
    
    }
    
    字典取值:dict[]
    字典取值的方法:
    keys()    返回键对应的值
    values()  返回值对应的键
    items()   返回键值对
    
    a={}
    print(a)
    print(type(a))
    a={'size':'xxl','color':'red'}
    print(a)
    a['size']
    a['color']
    b=a
    a is b
    print(a)
    print(b)
    
    
    
    
    7.猜生日小游戏
    import os,sys
    b={'zhangsan':'908800','list':'1010101'}
    while True:
        print('please type the key:')
        name=input()
        if name == 'exit':
            sys.exit()
        if name in b:
            print(b[name])
            continue
        else:
            print('字典里没有这个数据-')
            b[name]=input('请添加他的的生日信息:')
            continue
  • 相关阅读:
    Delphi的几个跨平台小游戏例子。
    Delphi判断某个类是否实现了某个接口
    Delphi RAD Server 应用服务基础平台
    Delphi XE10.1 引用计数
    运行Delphi XE10的MongoDB例程,测试Delphi插入记录性能
    在Windows下编译mongo-c-driver 1.3.x
    Delphi 高效读写锁
    Delphi XE10在 Android下调用静态库a文件
    Delphi 调试连接 任意Android手机/平板/盒子
    Some cool FireMonkey multi-device components
  • 原文地址:https://www.cnblogs.com/Leonardo-li/p/8742999.html
Copyright © 2011-2022 走看看