Python基础第五天(字典,集合,深浅拷贝)

本文主要讲解Python的基础知识,涉及字典和集合的使用。包括字典的创建、转换,以及集合的特性,如无序、唯一性和不可变性。还介绍了判断闰年、质数等基础编程概念。

第五天


1、深浅拷贝


import copy
a = [1,2,3,[4,5],6]
b=copy.copy(a)
c=copy.deepcopy(a)
a.append(7)
a[3].append(9)
print(a,id(a))
print(b,id(b))
print(c,id(c))
a=5
print(id(a))
print(id(a[3][1]))

2、判断是否为闰年

y = int(input("请输入年份"))
if y%4==0 and y%100!=0 or y%400==0:
    print(y,"是闰年")
else:
    print(y,'不是闰年')

4、not 的用法

stu = True
if not stu:
    print("你不是学生")
else:
    print("是学生,可以进校园")

5、or 前面不成立,取决于后面

a = 5
b=a>7 or 4
print(b)
输出4

6、将一百以内质数放到列表内

a=[]
for x in range(2,101):
    for i in range(2,x):
        if x %i==0:
            #print(x,"不是质数")
            break
    else:#注意else不要放错地方注意注意
        #print(x,"是质数")
        a.append(x)
print(a)


a=[]
for data in range(2,100):
    for i in range(2,data):
        if data%i==0:
            break
    else:
        a.append(data)
print(a)

7、判断是否为质数

num = int(input("请输入一个数:"))
i = 2
while i<num:
    if num % i == 0:
        print(num,"不是质数")
        break
    i += 1
else:
    print(num,"这是一个质数")

8、九九乘法表

for i in range(1,10):
    for j in range(1,i+1):
        print(j,"*",i,"=",j*i,end="\t")
    print()


for i in range(1,10):
    j=1
    while j<=i:
        print(j, "*", i, "=", j * i, end="\t")#\t相当于tab键
        j+=1
    print()


i = 1
while i<=9:
    for j in range(1,i+1):
        print(j, "*", i, "=", j * i, end="\t")
    i+=1
    print()


i= 1
while i<=9:
    j=1
    while j<=i:
        print(j,"*",i,"=",i*j,end="\t")
        j+=1
    print()
    i+=1

10、输出正方形*

i= 1
while i<=5:
    j = 1
    while j<=5:
        if i==1 or j==1 or i==5 or j==5:
            print("*",end="")
        else:
            print(" ",end="")
        j+=1
    print()
    i+=1

字典

在python中保存这种键值对格式的数据一种类型叫做字典 dict

a={'name':'张三','age':"19","sex":"男"}
print(a["name"])
print(a["sex"])


字典key不能是可修改数据类型,例如列表
a={[1]:'张三','age':"19","sex":"男"}
print(a["name"])
print(a["sex"])


a={'name':'张三','age':"19","sex":"男"}
a['score']=99#没有添加
print(a)
a['age']=18#有就覆盖
print(a)

a={'name':'张三','age':"19","sex":"男"}
a.setdefault("age",20)
print(a)
a.setdefault('score',99)
print(a)


a={'name':'张三','age':"19","sex":"男"}
b=a.pop('name')#列表可以无参数或有参数,字典必须有
print(b)
print(a)

a={'name':'张三','age':"19","sex":"男"}
a.clear()
print(a)


a={'name':'张三','age':"19","sex":"男"    }
print(a.keys())
for k in a.keys():
    print(k)
结果:
dict_keys(['name', 'age', 'sex'])
name
age
sex


a = {'name': '张三', 'age': "19", "sex": "男"}
print(a.values())
for v in a.values():
    print(v)
    结果:
 dict_values(['张三', '19', '男'])
张三
19
男


a={'name':'张三','age':"19","sex":"男"}
print(a.items())
for kv in a.items():
    print(kv)
for k,v in a.items():
    print(k,v)
结果:

dict_items([('name', '张三'), ('age', '19'), ('sex', '男')])
('name', '张三')
('age', '19')
('sex', '男')
name 张三
age 19
sex 男

1、字典转换列表在转换字典

a={'name':'张三','age':'19','sex':'男'}
b=[]
c={}
for k,v in a.items():
    b.append((k,v))
print(b)
for x in b:
   print(x[0],x[1])
    c[x[0]]=x[1]
print(c)

集合

集合中的元素是无序的,唯一的、不可改变类型

a=(1,2,3)
print(a,type(a))
print(a[0])


a=(1,2,3)
i=0
while i<len(a):
    print(a[i])
    i+=1

a=(1,2,3,4)
print(a[2: :1])


a,b,c=(1,2,3)#一一对应a对1,b对应2
print(a)
print(b,c)



输出索引和值
a= (11,12,13,'a')
for x in enumerate(a):
    print(x)



求奇偶数个数
a=(1,2,3,5,6,8,7,9)
os=0
js=0
for x in a:
    if x%2==0:
        os+=1
    else:
        js+=1
print(os,js)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值