Python中的set(集合)、list(列表)、tuple(元组)、dict(字典)简介及使用(‘判断输入日期是这一年的第几天’实例)

集合\列表\元组\字典

说明创建空类型特点元素类型
集合(set)创建一个无序的不重复元素序列。使用 { } 或者 set() 函数创建set()可增加、删除同一类型元素
列表(list)创建一个有序的可重复元素序列 使用 []创建[]可增加、删除、修改可以是不同类型元素
元组(tuple)创建一个有序的可重复元素序列 使用 ()创建()不可增加、删除、修改可以是不同类型元素
字典(dict)键值(key=>value)对用冒号(:)分割,使用{}创建字典,{}可增加、删除、修改可以是不同类型元素
集合
>>>i = {1,2,3,4,5}			#创建一个集合
>>>i
{1, 2, 3, 4, 5}
>>>i.add(88)				#添加一个元素
>>>i.remove(1)				#删除一个元素
>>>i
{2, 3, 4, 5, 88}
列表
>>>i = [1,2,"5","FIGHTING","加油"]			#创建一个列表
>>> print(i)														
[1, 2, '5', 'FIGHTING', '加油']
>>>del i[0]									#删除第0个元素
>>>i
[2, '5', 'FIGHTING', '加油']
>>> i[0] = 88								#修改第0个元素
>>>i.append(666)							#增加一个元素(在列表尾部)
>>>i
[88, '5', 'FIGHTING', '加油', 666]
元组
>>>i = (1,2,"FIGHTING","加油","加油")				#创建一个元组
>>>i
(1, 2, 'FIGHTING', '加油', '加油')
字典
>>>i = {1:"james",2:"wade",3:"bush"}				#创建一个字典
>>>i
{1: 'james', 2: 'wade', 3: 'bush'}
>>>i[4] = "supermen"								#增加一个元素
>>>i
{1: 'james', 2: 'wade', 3: 'bush', 4: 'supermen'}
>>>i[4] = "myself"									#修改一个元素
>>>i
{1: 'james', 2: 'wade', 3: 'bush', 4: 'myself'}		#删除一个元素
>>>del i[4] 
>>>i
{1: 'james', 2: 'wade', 3: 'bush'}

判断输入日期是这一年的第几天:

判断yyyy/mm/dd是yyyy年的第几天,下面使用了两种方法:一种是使用内置的库,很简单的实现天数的判断;第二种方法是通过使用元组、列表、集合等知识来实现对天数的判断(主要是帮助我们熟悉python中的常用函数方法)。

使用Python内置库来实践输入时间的判断:
import datetime
#调用内置函数来实现计算每一年的第几天
input_date_str = input("请输入日期(yyyy/mm/dd):")
input_date = datetime.datetime.strptime(input_date_str,"%Y/%m/%d")
date = input_date
print("这是第{}年的第{}天".format ( input_date.year,date.strftime('%j')  ))    #%j十进制表示的每年的第几天
使用元组、列表、集合等知识来实现对输入时间的判断:
#!/usr/bin/env python
#-*- coding:utf-8 -*-
'''
@author  : FIGTHING
@file    : determinedays1.0.py
@function: 用集合表示来实现判断第几天
@software: Pycharm
@time    : 2019/03/19/21:00
'''

import datetime

def is_leap_year(year):
    is_leap = False
    if (year % 400 ==0) or ((year % 40 ==0) and (year % 100 != 0)):
        is_leap = True
    return is_leap

def main():

    input_date_str = input("请输入日期(yyyy/mm/dd):")
    input_date = datetime.datetime.strptime(input_date_str,"%Y/%m/%d")
    print(input_date)

    #获取输入的年、月、日
    year = input_date.year
    month = input_date.month
    day = input_date.day

    # #使用集合创建月份日
    # _30_days_month_set = {4,6,9,11}
    # _31_days_month_set = {1,3,5,7,8,10,12}

    #创建一个月份对应日期的字典
    month_days_dict ={1:31,
                      2:28,
                      3:31,
                      4:30,
                      5:31,
                      6:30,
                      7:31,
                      8:31,
                      9:30,
                      10:31,
                      11:30,
                      12:31}
    #创建一个月份对应日期的字典
    days_month_dict = {28:2,
                       30:{4,6,9,11},
                       31:{1,3,5,7,8,10,12}}
    #初始化
    days = 0
    days += day
    for i in range(1,month):
        days += month_days_dict[i]


    #判断是否为闰年
    if is_leap_year(year) and month > 2:
        days +=1
    print("这是{}年的第{}天".format(year,days))

if __name__ == "__main__":
    main()

“”"***笔者的话:整体的总结了集合、列表、元组、字典之间的比较和使用说明。希望对大家有所帮助。FIGHTING...(热烈欢迎大家批评指正,互相讨论)
"A promise tomorrow is worth a lot less than trying today." --《侏罗纪世界》
***"""

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值