python第三周(陆续自学20201117) set\map等用法,集合及string字符串学习

set\map等用法,集合及string字符串学习,陆续学习,给各种大小坑打上标签,防止重复掉坑。

print('----random的用法----')
import random
print(random.random())#任意小数
print(random.random())#任意小数
print(random.randint(1,100))#任意整数
print(random.randint(1,100))#任意整数
random1= random.choices(['life is brian','holy grail','meaning of life'])
print(random1)
# random3=random1
# print(random3.title()) #无法运行
random2='life is brian'
print(random2.title())#title第一字母大写,upper全部大写,lower全部小写仅适用于字符串

print('----小数精确性,Fraction用法----')
from fractions import Fraction
print(Fraction(1,3)) #1/3
print(Fraction(5,6)) #5/6

f=2.5
print(Fraction(*f.as_integer_ratio()))
print((2.5).as_integer_ratio())

print('----集合用法set,集合创建必须用set,拥有去重功能----')
set1=set([1,2,3,4,5])
print(set1)
set2=set(['s','p','a','m'])
print(set2)
set2.add('alot')
print('set2为:',set2)

s1={1,2,3,4,5}
print(s1&{1,3})#交集
print(s1|{1,5,3,6})#并集
print(s1-{1,3,4,6})#s1中没有在1,3,4,6内
print(s1>{1,3})#s1是否有大于1,3的数值

s2= set()
s2.add(1.23)
print('集合s2:',s2)

print({1,2,3}|{3,4})
# print({1,2,3}|[3,4]) #代码错误
# print({1,2,3}.union([3,4])#代码错误
# print({1,2,3}.union({3,4}))#代码错误
# print({1,2,3}.union(set([3,4])))#代码错误

s3={x**2 for x in [1,2,3,4]}#平方打印
print('s3为:',s3)
s4={x for x in 'spam'}
print(s4)
s5={x*5 for x in 'spam'}#多倍打印
print(s5)
s6=s5|{'mmmmm','xxxxx'}#自动去重 合并打印
print(s6)
s7=s5&{'mmmmm','xxxxx'}#交集并打印
print(s7)

print('----集合用法set,拥有去重功能----')
L=[1,2,1,3,2,4,5]
L1=set(L)
print(L1)#打印{}
L2= list((set(L)))
print(L2)#打印列表[],自带去重功能,5² = 5^2一样意思

engineers = {'bob','sue','ann','vic'}
managers = {'tom','sue'}
print('bob' in engineers)
print(engineers & managers)
print(engineers | managers)
print(engineers - managers)
print(engineers > managers)
print("1.",{'bob','sue'}<engineers)
print("2.",(engineers | managers)>engineers)
print("3.^代表在engineers ^ managers任意一个,但不是2个都有:",engineers ^ managers)
print("4.^代表在engineers ^ managers任意一个,但不是2个都有2:",(engineers|managers)-(engineers ^ managers))

print('----变量、对象和引用----')
#变量是一个系统表的元素;对象是分配的一块存储,有足够空间代表的值;引用从变量到对象的指针;类型属于对象
a = 3 #对象垃圾收集,空间被回收
a = 'hello'
a = 'spam'#对象引用值逐个丢弃
print(a)

a = 3
b = a #b不改变a的值,类型
a = 'spam'
print(a,b)

#特别注意,以下内容;与下一段语句比较
L4 = [2,3,4]
L5 = L4 #只是改变某一列元素,共享同时改变
L6 = L4[:] #切割复制原有数值,不改变,copy,从头到尾的分片,[:]起切片固化作用
L4[0]=24 #L4改变会带动L5同步改变
print(L4,L5,L6)#细看L5,L6打印返回值的区别

#特别注意,以下内容
L4 = [2,3,4]
L5 = L4 #只是改变某一列元素,共享同时改变
L6 = L4[:] #切割复制原有数值,不改变,copy,从头到尾的分片,[:]起切片固化作用
L5[0]=24#L5改变会带动L4同步改变
print(L4,L5,L6)#细看L5,L6打印返回值的区别

print('----对象判断,比较判断----')
L4 = [2,3,4]
L4=L5
print(L4==L5,L4 is L5)

L4 = [2,3,4]
L5 = [2,3,4]
print(L4==L5,L4 is L5)

X=42
Y=42
print(X==Y,X is Y)

print('----字符串使用学习----')
S11 = "spam's"
print(S11)
S12 = 's\np\ta\x00m' #转义字符 \n 换行; \t tab ;  \r 回车 ; \x 是PEP也就是Python开发团队所采用的Bytecode标识,无实际含义.
print(S12)
# """其他转义字符用法
# 转义字符	描述
# \(在行尾时)	续行符
# \\	反斜杠符号
# \’	单引号
# \”	双引号
# \a	响铃
# \b	退格(Backspace)
# \e	转义
# \000	空
# \n	换行
# \v	纵向制表符
# \t	横向制表符
# \r	回车
# \f	换页
# \oyy	八进制数yy代表的字符,例如:\o12代表换行
# \xyy	十进制数yy代表的字符,例如:\x0a代表换行
# \other	其它的字符以普通格式输出
# """
s13 = """...""" #三重引号字符串块
s14 = r'\temp\spam' #Raw字符串
s15 = b'spam' #字节字符串
print(s13,s14,s15)

s16 = 'park prok print,world'
s16.find('pa') #字符串方法调用,搜索
print('s16相关分别为:',s16,s16.find('pa'))
s18 = s16.rstrip() #移除空格
print('s18为:',s18)
s19 = s16.replace('ok','python')#字符ok 替换成python
print('s19为:',s19)
s20= s16.split(',') #用展位符分割
s21= s16.split(',')[0] #用展位符分割,取分割第一部分,爬虫截取网址经常用到
s22= s16.split(',')[1] #用展位符分割,取分割第二部分
# s23= s16.split(',')[2] #用展位符分割,无法运行,超过分割数
print('s20\s21\s22分别为:',s20,s21,s22)
s24='spam'.join(s16)
print('s24为:',s24) #有点看不懂
s25=s21+s22
s26=s16.split(',')[0]+s16.split(',')[1]
print('s25\s26分别为:',s25,s26)

print('----打印每个字母,分行,同行----')
for x in s16:
    print(x)
for x in s16:
    print(x*2)#双倍打印双倍快乐

s27 = [x*2 for x in s16]#列表双倍打印,横向打印
print(s27)

import math
s40=[1,2,3,4,5,6]
for x in s40:
    s41= math.pow(x,2)
    s42= math.sqrt(x)
print(s41,'\n',s42) #结果有待研究,只计算最后一个数字的数学值

# map()函数的简介以及语法:
# map是python内置函数,会根据提供的函数对指定的序列做映射。
# map()函数的格式是:
# map(function,iterable,...)
# 第一个参数接受一个函数名,后面的参数接受一个或多个可迭代的序列,返回的是一个集合。
# 把函数依次作用在list中的每一个元素上,得到一个新的list并返回。注意,map不改变原list,而是返回一个新list。
def square(x):
    return x**2
list1 =map(square, [1,2,3,4,5])
print(list(list1))  #需要定义为list();python3中map()返回iterators类型,不再是list类型。进行list转换即可

print('----转义字符代表特殊字符,下次继续更新----')
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老来学python

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值