码迷,mamicode.com
首页 > 编程语言 > 详细

python——元组和字典学习笔记

时间:2018-04-08 10:21:49      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:键值   增删改   不重复   笔记   str   NPU   lease   正序   for   

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

 

python——元组和字典学习笔记

标签:键值   增删改   不重复   笔记   str   NPU   lease   正序   for   

原文地址:https://www.cnblogs.com/Leonardo-li/p/8742999.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!