Python3的基础

一、元组:  tuple

Python 的元组与列表类似,不同之处在于元组的元素不能修改。

元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组


tup2 = (111, 22, 33, 444, 55, 6, 77 )forxin(tup2):#遍历print(x)

list2 = [111, 22, 33, 444, 55, 6, 77 ]

tup2 = tuple(list2)#将列表转变为元组


二、列表:  list

遍历列表:

#遍历列表

  list1 = [1, 2, 3, 6, 5, 4]forxin list1:

    print(x, end=",")# 运行结果:1,2,3,6,5,4,foriin range(len(list1)):

    print("序号:", i,"  值:", list1[i])fori, valin enumerate(list1):

    print("序号:", i,"  值:", val)foriin list1:

    idx = list1.index(i)# 索引if(idx < len(list1) - 1):

        print(i,'---------', list1[idx + 1])


排序列表、判断元素是否在列表中:

list1 = [1,2,3,6,5,4]

#排序列表(正序)

list1.sort()forxin list1:

    print(x, end=",")

#运行结果:1,2,3,4,5,6,

print("")

#排序列表(倒序)

list1.reverse()

forxin list1:

    print(x, end=",") #运行结果:6,5,4,3,2,1,

print("")

#判断元素是否存在于列表中

if5in list1:

    print("5 在list1中")

#在末尾追加新的元素

list1.append(555)

list1.append(555)

print(list1)

#统计某个元素在列表中出现的次数

print("出现",list1.count(555),"次")

#移除元素,并返回值(默认是移除最后一个)print(list1.pop(0))# 移除第一个

print(list1.pop())# 移除最后一个


随机列表

import random#返回一个随机的项目print(random.choice(range(100)))print(random.choice([1, 2, 3, 5, 9]))print(random.choice('Hello World'))

ls1 = [20, 16, 10, 5];

random.shuffle(ls1) #返回重新洗牌列表,随机

 把数字列表转换为字符列表

ls1 = [1,2,4,5]

ls2 = [str(i)foriin ls1]print(ls2)# ['1', '2', '4', '5']



三、字典:  dict

dict = {'name':'pp','age': 20,"gender":"man"}

dict["name"] ="sss"forkeyindict.keys():# 遍历字典。字典的 keys() 方法以列表返回可遍历的(键) 元组数组。print(key)forvalindict.values():# 遍历字典。字典的 values() 方法以列表返回可遍历的(值) 元组数组。print(val)forkey, valindict.items():# 遍历字典。字典的 items() 方法以列表返回可遍历的(键, 值) 元组数组。print(key," : ", val)


字典的多级嵌套:

citys={

    '北京':{

        '朝阳':['国贸','CBD','天阶'],

        '海淀':['圆明园','苏州街','中关村','北京大学'],

        '昌平':['沙河','南口','小汤山',],

        '怀柔':['桃花','梅花','大山']

    },

    '河北':{

        '石家庄':['石家庄A','石家庄B','石家庄C'],

        '张家口':['张家口A','张家口B','张家口C']

    }

}foriincitys['北京']:

    print(i)foriincitys['北京']['海淀']:

    print(i)


四、集合:        set

集合(set)是一个无序不重复元素的序列。 基本功能是进行成员关系测试和删除重复元素。

集合无序,元素不能重复。

去重:将列表转化为集合,集合再转化为列表,就可以去重。

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

student = {'Tom','Jim','Mary','Tom','Jack','Rose'}print(student)# 输出集合,重复的元素被自动去掉 {'Mary', 'Jim', 'Rose', 'Jack', 'Tom'} # 成员测试if('Rose'in student) :

    print('Rose 在集合中')else :

    print('Rose 不在集合中')#Rose 在集合中

 从一个大集合里,去除一个小集合

set000 = set("123456789")

set1 = set(["2","3","5","5","6","0"])print(set000 - set1)#{'7', '8', '9', '1', '4'}




补充:相互转换

1、元组 => 列表 

tuple1 = (123,'haha','she','hehe')

list1 = list(tuple1)#将元组转换为列表。运行结果:[123, 'haha', 'she', 'hehe']print(list1)


2、字符串 <=> 列表

str1 ='天地玄黄宇宙洪荒'list1 = list(str1)# 字符串转为列表str2 ="".join(list1)# 列表转为字符串print(str2)

str1 ='天地,玄黄,宇宙,洪荒'list1 = str1.split(",")# 字符串转为列表print(list1)

str1 ='天地玄黄宇宙洪荒'str2 = str1[::-1]# 字符串倒序print(str2)






迭代器、生成器:http://www.runoob.com/python3/python3-iterator-generator.html

迭代器有两个基本的方法:iter() 和 next()

importsys# 引入 sys 模块list = [1, 2, 3, 4]

it = iter(list)# 创建迭代器对象while True:

    try:

        print(next(it))

    except StopIteration:

        sys.exit()


使用了 yield 的函数被称为生成器(generator)。  跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作

import sysdeffibonacci(n):# 生成器函数 - 斐波那契a, b, counter = 0, 1, 0

    while True:

        if(counter > n):

            returnyield a

        a, b = b, a + b

        counter += 1f = fibonacci(10)# f 是一个迭代器,由生成器返回生成while True:

    try:

        print(next(f), end="")

    except StopIteration:

        sys.exit()


Map,Filter,Reduce

Map 会将一个函数映射到一个输入列表的所有元素上。  (这个可以同时对list里的所有元素进行操作,并以列表方式给出返回值。)

filter 过滤列表中的元素,并且返回一个由所有符合要求的元素所构成的列表。  (这个可以被用来过滤原有的list,并把过滤结果放进新的list里。)

当需要对一个列表进行一些计算并返回结果时,Reduce 是个非常有用的函数。  (这个可以队列表顺序执行算术运算。)

http://docs.pythontab.com/interpy/Map_Filter/Map/

ls1 = [1, 2, 3, 4, 5]

ls2 = list(map(lambdax: x ** 2, ls1))#加了list转换,是为了python2/3的兼容性。  在python2中map直接返回列表,但在python3中返回迭代器print(ls2)# [1, 4, 9, 16, 25]ls1 = range(-5, 5)ls2 = filter(lambdax: x > 0, ls1)print(list(ls2))# [1, 2, 3, 4]fromfunctoolsimport reduce

product = reduce((lambdax, y: x * y), [1, 2, 3, 4])# 计算一个整数列表的乘积print(product)# 24


装饰器:

def a(arg):

    passdef b(arg):

    passdef c(arg):

    passdef decorator(func):

    defwrapper(*arg, **kw)

        print('Start ---' , func)

        returnfunc(*arg, **kw)

    return wrapper

a = decorator(a)

b = decorator(b)

c = decorator(c)


有问题欢迎一起交流哦。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,529评论 5 475
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,015评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,409评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,385评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,387评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,466评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,880评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,528评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,727评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,528评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,602评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,302评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,873评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,890评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,132评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,777评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,310评论 2 342

推荐阅读更多精彩内容

  • Python3 基础数据类型概览 每一门语言中,都有相应的基础数据类型来支撑起该门语言的框架,就如同骨骼较之于人一...
    LouisDrink阅读 260评论 0 1
  • 注释 python中使用‘#’注释一行代码,多行注释使用""" """ 格式化输出 %s 格式化的内容是字符串类型...
    胡乱唱歌ing阅读 324评论 0 0
  • 1.元组的定义元组用(),有序,不可修改。例如:a = (1,2,3,4,5)print(a)定义一个空元组。b ...
    余安缘阅读 193评论 0 0
  • 前言:python大名如雷贯耳,最近自己花了点时间学习了一波python语法,发现想要入门还是很简单的,现在整理了...
    小民不言语阅读 230评论 0 1
  • 推荐指数: 6.0 书籍主旨关键词:特权、焦点、注意力、语言联想、情景联想 观点: 1.统计学现在叫数据分析,社会...
    Jenaral阅读 5,700评论 0 5