python学习之第四天

知识点目录
1.集合的特点
2.zip的特点
3.合并两个列表且去除重复元素的若干方式
4.交集差集并集的概念是什么
5.字符串的格式化写法
6.随机数的常用方法
7.时间模块有哪些
8.时间戳是什么
9.什么是UTC和DST?
10.根据时间字符串按照格式转成时间
11.如何生成一个延后时间(例如当前时间延后1小时) timedelta
12.常用的时间格式化符号有哪些

1.集合的特点

集合特点:不重复且无序

# 集合 set
# 跟元组,列表,字典类似
# 容器对象/类型  tuple list dict set

# 1.创建集合
set1 = set('abcdefg')
print(type(set1), set1)
set2 = {'a', 'b', 'c', 'a'}  # 集合中元素不能重复,且无序
print(type(set2), set2)
set3 = ('')


# 2.添加元素
print(set2)
set2.add('张三')
set2.add('李四')
set2.add('张三')
print(set2)

#3. 删除元素
# result = set2.pop()
# print(set2, result)
# element:元素
set2.remove('a')
print(set2)

# 4.修改(添加)
set2.update('123456')    # 会把1,2,3,4,5,6分开添加到set2中
print(set2)

2.zip的特点

# 压索两个长度相同的列表(可迭代对象)
# zip压缩的两个对象长度不一样,会丢失
a = [1, 2, 4, 5, 3, 2, 1]
b = [2, 5, 2, 6, 7, 4, 3]
c = zip(a, b)
for a_num, b_num in c:
    print(a_num, b_num)
输出结果
# 1 2
# 2 5
# 4 2
# 5 6
# 3 7
# 2 4
# 1 3

3.合并两个列表且去除重复元素的若干方式

    # 两个列表a,b合并一个去重
    # 方式1
    a = [1, 2, 4, 5, 3, 2, 1]
    b = [2, 5, 2, 6, 7, 4, 3]
    a.extend(b)
    c = []
    for num in a:
        if num not in c:
            c.append(num)
    c = list(set(a))
    print(c)
    输出结果
    [1, 2, 3, 4, 5, 6, 7]

# 列表a和b索引值相同作比较合并为一个列表去重
a = [1, 2, 4, 5, 3, 2, 1]
b = [2, 5, 2, 6, 7, 4, 3]
c = []
for i in range(len(a)):
    a_num = a[i]
    b_num = b[i]
    if a_num not in c:
        c.append(a_num)
    if b_num not in c:
        c.append(b_num)
print(c)
# 输出结果
# [1, 2, 5, 4, 6, 3, 7]

4.交集差集并集的概念是什么

# 集合的特殊用法
# 差集  并集  交集
set1 = set('abcde')
set2 = set('cdefg')
set3 = set2.difference(set1)   # 差集
print(set3)
set3 = set1.intersection(set2)  # 交集
print(set3)
set3 = set1.union(set2)  # 并集
print(set3)


1.向集合中添加一个元素 s.add()

2.随机删除s.pop()    指定删除s.remove() 与s.discard()   删除不存在的remove会报错 discard不会报错

3.集合的交集& ,s.intersection()

4.集合的并集 | ,s. union()

5.集合的差集  s1.difference(s2) 将集合s1里去掉和s2交集的部分

6.集合的交叉补集  s.symmetric_difference() 并集里去掉交集的部分

5.字符串的格式化写法

name = '张三'
age = 20
adress = '河南郑州'
# 方式1:使用 +  拼接
# 弊端:两端类型必须一致,写法麻烦
info = '我叫'+name+',年龄'+str(age)+',家庭住址:'+adress
print(info)

# 方式2:使用占位符
# 潜在弊端:有特殊符号时会有问题   如网址的%
# C语言 %d (整型) %f(浮点型) %c(字符型)  %s(字符串型)
# python %d (整型) %f(浮点型)  %s(字符串型)

info = "我%s叫,年龄%d岁,家庭住址:%s"%(name,age,adress)
print(info)


# 方式3:使用format
# 弊端:如果格式复杂参数容易写错
info = "我叫{},年龄{},家庭住址:{}".format(name,age,adress)
print(info)

# 方式4:f字符串
# 适用于python3以上,python2 不支持
info = f"我叫{name},年龄{age},家庭住址:{adress}"
print(info)

6.随机数的常用方法

from random import random,randint,randrange,choice

# random  生成一个0-1之间的随机小数
a = random()

# randint  生成一个1-5之间的随机数包括1也包括5
a=randint(1,5)
print(a)

#  randrange 从一个range中随机取一个
a=randrange(1,10,3)# 1 4 7 
print(a)

#choice  从一个可迭代对象中随机选一个
name_list = ['张三','李四','小王']
name =choice(name_list)
print(name)
name = choice('赵钱孙李周武正王')
print(name)

7.时间模块有哪些

import time,datetime
# 1.时间戳
# 1.时间戳:从1970年1月1日0点0分0秒到现在的时间间隔,单位秒

# 时间戳:time.time()
timestamp =time.time()
print(timestamp)
# 输出结果 1564139604.898395
year = int(timestamp/(365*24*60*60))+ 1970
print(year)
# 输出结果 2019


#获取当前的年月日
date = datetime.datetime.today()
print(date)
# 输出结果 2019-07-26 19:13:24.898395
print(date.year,date.month,date.day,date.hour,date.minute,date.second)\
# 输出结果
# 2019 7 26 19 13 24

# 根据时间格式去格式化时间戳

a=time.strptime("2019 8 7","%Y %m %d")
print(a)
# 输出结果
# time.struct_time(tm_year=2019, tm_mon=8, tm_mday=7, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=219, tm_isdst=-1)

8.时间戳是什么

# 1.时间戳
# 1.时间戳:从1970年1月1日0点0分0秒到现在的时间间隔,单位秒

# 时间戳:time.time()

9.什么是UTC和DST?

UTC
(CoordinatedUniversalTime,世界协调时)亦即格林威治天文时间,世界标准时间。在中国为UTC+8小时。
DST
(DaylightSavingTime)即夏令时。是一种为节约能源而人为规定地方时间的制度,一般在天亮早的夏季人为将时间提前一小时。

10.根据时间字符串按照格式转成时间

import datetime
datetime_dt = datetime.datetime.today()  
print("当前时间和日期为:{}".format(datetime_dt))
# 格式化日期时间
datetime_str = datetime_dt.strftime("%Y/%m/%d %H:%M:%S") 
#   datetime_str = time.strftime(datetime_dt,"%Y/%m/%d %H:%M:%S") 

11.如何生成一个延后时间(例如当前时间延后1小时) timedelta

# 处理 日期和时间
import datetime
# 获取当前日期和时间
datetime_dt = datetime.datetime.today()  
print("当前时间和日期为:{}".format(datetime_dt))
# 格式化日期时间
datetime_str = datetime_dt.strftime("%Y/%m/%d %H:%M:%S")  
print("当前时间和日期格式化后为:{}".format(datetime_str))
# 时间间隔
time_delta = datetime.timedelta(hours=3)  
print("当前时间间隔为{}".format(time_delta))
# 将时间延后3小时
datetime_pre = datetime_dt + time_delta 
print("时间延后三小时为{}".format(datetime_pre.ctime()))

12.常用的时间格式化符号有哪些

%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值