集合\列表\元组\字典
说明 | 创建空类型 | 特点 | 元素类型 | |
---|---|---|---|---|
集合(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." --《侏罗纪世界》
) ***"""