7.26第三周学习记录

7.26第三周学习记录

学习内容

1.元组是不可变的,小括号表示
元组的创建方法三种:
tuple1 = (元素1,元素2......) tuple2 = () tuple3 = tuple(range(xx,xxx))#将循环的结果作为数值元组
2.访问元组元素
直接print() 索引print(untitle[3]) 切片print(untitle[0,3])
3.修改元组
不能单独修改元组的元素呢,要整个元组修改
不能元组+字符串,但可通过加个逗号令字符串变成元组
4,元组推导式
for遍历法、tuple()法、__next()__法
访问生成器后,这个生成器就不存在了。再用它要重新生成。
5,元组和列表的区别:
元组不可变、列表可变;
元组可作字典的键,列表不可以作字典的键
6,字典的创建和删除
字典的键只能是元组,不能是列表。zip()函数将列表转换为了元组
7.访问字典的元素
dictionary.get('key',[默认值])
eg.
print(word.get('ch','我的字典里没有它')) 回复‘ch’对应的值,否则返回‘我的字典里没有她’
还可通过key值访问,print(word['che'] if 'che' in word else '我的字典里没有它'
8. 遍历字典
字典.items() 返回的是可遍历的元组列表
sign.values(): #keys/values,得到键值列表/值列表
9. 添加、修改、删除字典的值
dictionary[key] = value
key是唯一的,value可以不唯一
10.字典推导式
{键表达式:值表达式 for 循环}
11.集合的创建
set可变集合,用来保存不重复的元素,不支持索引
空字典:{}
空集合:set()
12.集合的添加、删除
setname.add(元素)
remove()删除指定元素 pop()随缘删 clear()全都删
13.集合的交集、并集、差集
14. 列表 元组 字典 集合 的区别
是否可变 是 否 是 是
是否重复 是 是 是 否
是否有序 是 是 否 否
15.截取字符串
str1[2:5:1] 包含头,不包含尾,与切片相似

代码部分

创建元组

number = (7,14,21,28,35,42,49)
print(number)

string = ("卡农","渔舟唱晚","欢乐颂")
print(string)

untitle = (1,"haha",2,(3,"Hellow","world"),["Wang","yuanning",666])
print(untitle)#元组可以包括列表

verse = ("一片冰心在玉壶")
print(verse,type(verse))#()是把多行内容连接

verse = ("一片冰心在玉壶",)
print(verse,type(verse))#()是元组了

创建数值元组

tuple1 = tuple(range(2,21,2))
print(tuple1)
#删除元组 del(),删的是元组本身,不是清空内容。只能删存在的元组

访问元组元素、enumerate()函数功能

untitle = ("wyn","cj","lsm",["lmy"],("aaa","bbb"))
print(untitle)
print(untitle[3]) #索引值、切片访问
print(untitle[0 : 4])

for obj in untitle:
print(obj,end = ' ')

print("\n2017-2018赛季NBA前八名")
team = ("yi","er","san","si","wu","liu","qi","ba")
for i,j in enumerate(team): #enumerate()将索引值和元素连接在一起
if i % 2==0: #如果是索引值是第二个,换行
print(j," ",end='')
else:
print(j)

修改元组元素

coffee = ('wyn','cj','lsm','lmy','aaa','bbb')
coffee = ('wyn','cj','lsm','lmy','ccc','bbb') #元组不能单独改某一个元素
print(coffee)

newcoffee = ('zzz',) #这里的逗号是为了让newcoffee为元组,而不是字符串。
allcoffee = coffee + newcoffee #元组+元组可,但不能元组+字符串!!!
print(allcoffee)

元组推导式

#tuple()函数法
import random
num = (random.randint(10,100) for i in range(10) ) #这里num是一个生成器
print(tuple(num)) #要加tuple()函数!

#for遍历法
for i in num:
print(i,end=' ') #结果是只有一组随机数。(即上面那个方法的)
#这是因为,访问该生成器后,这个生成器就不存在了。再用它要重新生成

#next()方法:
num = (random.randint(10,100) for i in range(10) ) #这里num是一个生成器
print(num.next()) #输出第一个元素
print(num.next()) #输出第二个元素
print(num.next()) #输出第三个元素

字典的创建和删除

#直接定义
word = {'che':'车','chen':'陈','cheng':'称','chi':'吃'}
print(word)

#利用dict(zip(xxx,xx))转换
key = ['che','chen','cheng','chi']
value = ['车','陈','称','吃']
zip1 = zip(key,value) #转换为zip对象
word = dict(zip1)
print(word)

dictionary = dict(che = '车',chen = '陈', cheng = '称',chi = '吃') zip()将列表转为元组,dict()将元组转为字典
print(dictionary)

#只有名称,没有内容的字典
dictionary1 = dict.fromkeys(key)
print(dictionary1)

#删除字典
del dictionary
print(dictionary)

#删内容,不删字典 dictionary.clear()

访问字典元素

#根据指定的键访问字典的元素
key = ['che','chen','cheng','chi']
value = ['车','陈','称','吃']
zip1 = zip(key,value) #转换为zip对象
word = dict(zip1)

print(word['che'] if 'che' in word else '我的字典里没有它') #根据key值进行访问

#get方法
print(word.get('che')) #get方法返回‘che’对应的值
print(word.get('ch','我的字典里没有它')) #有‘che’回复‘车’,否则‘我的字典里没有它’(默认是None)

#再来一个值
zuci = ['开车','陈介','称重','吃饭']
word1 = dict(zip(value,zuci))

print('che的汉字是:',word.get('che') ) #这里word.get('che')就是汉字“车”
print('che的汉字可以组词: ', word1.get(word.get('che'))) #word1中‘车’对应的词组

遍历字典

sign = {'Alice':'Amecrica','Charlie':'China','Bob':'Britain','Rue':'Russia'}
print(sign.items()) #字典.items() 返回的是可遍历的元组列表
for item in sign.items():
print(item) #这样得到的是元组

print('')
for key,item in sign.items():
print(key,item) #这样得到的是具体的键和值

#获取键列表或者值列表
for i in sign.values(): #items改成key/value,得到键值列表/值列表
print(i)

添加、修改、删除字典的元素

sign = {'Alice':'Amecrica','Charlie':'China','Bob':'Britain','Rue':'Russia'}
sign['wyn'] = "China" #添加元素
sign['wyn'] = "France" #修改元素
print(sign)

if 'wyn' in sign:
del sign['wyn'] #删除元素
print(sign)

字典推导式

import random
dict1 = {i : random.randint(10,100) for i in range(1,5)} # {键:值 for 循环}
print(dict1)

print('')
name = ['Alice','Bob','Tony','Jan']
sign = ['America','Britain','Turkey','Japan']
dict2 = {i : j for i,j in zip(name,sign)} #字典推导式
print(dict2)

集合的创建

set1 = {'水瓶座','射手座','双鱼座','双子座','水瓶座'}#定义一个集合
print(set1)

print('')
set1 = set() #定义空集合
print(set1)

name = ['香凝','wtn','frq','香凝']
set2 = set(name) #列表转集合,用set()
print(set2) #集合里没重复元素

集合的添加、删除

mr = set(['abc','def','ghi','buff']) #定义一个集合
mr.add('王远宁') #添加元素
print(mr)
if 'abc' in mr:
mr.remove('abc') #删除指定元素
print(mr)
mr.pop() #pop()随缘删,用temp = mr.pop来看随缘删的是那个元素
print(mr)

print('')
mr.clear() #清空集合
print(mr)

交集、并集、差集

python = {'wyn','cj','lsm','lmy'}
c = {'wyn','cxt','wbh','zjh'}
print('选择python的学生:', python)
print('选择c:',c)
print('交集运算: ', python & c) #既选c又选pyhon的
print('并集运算: ', python | c)
print('差集运算: ', python - c) #选了python没选c的

截取字符串

str1 = "人生苦短,我用python!"
print(str1[1:9])
print('')

str2 = input("请输入身份证号: ") #截取身份证中的生日
print("身份证号: "+str2)
birthday = str2[6:10] + '年' + str2[10:12] + '月' + str2[12:14] + '日'
print('生日是'+birthday)

posted @ 2020-07-26 21:06  wuang123  阅读(139)  评论(0编辑  收藏  举报