python-基础篇04:list tuple dict

list

list可以存储任何数据类型的数据。
list是有序的,指的是添加元素和取出元素的顺序是一致的,即先进先出,后进后出

list列表声明的语法:

列表名=[值,值2,...值n]
列表中的每一个元素都对应一个索引
列表中的第一个元素的索引是:0
列表中的最后一个索引是:列表的长度-1

一般情况下一个容器中,尽量存放同一个类型的数据,方便后续操作

容器的学习:

1.C create

2.D delete

3.U update

4.S select  R reader

5.算法 排序

list常见的操作方法:

1.添加   
    列表 * num 
    列表.append(value) 功能:向列表的尾部添加指定的元素
    列表.insert(index,value) 功能:向列表中的指定位置 添加元素
    列表.extend(list) 功能:向列表的尾部 添加list中的所有元素

2.查询:

    value=列表[index] 功能:根据索引获取指定的值

    index=列表.index(value) 功能:获取列表中第一次出现指定值的索引 如果值不存在 则报出错误

    count=列表.count(value) 功能:统计列表中出现指定的值的次数

    length=len(列表) 功能:获取列表的长度

    max=max(列表) 功能:获取列表中最大值

    min=min(列表) 功能:获取列表中的最小值

3.修改

    列表[index]=value 功能:根据列表的索引 修改值

4.删除

    value=列表.pop() 功能:删除列表中最后一个元素 并返回此元素

    value=列表.pop(index) 功能:根据索引删除列表中的元素 并返回此元素

    del 列表[index] 功能:根据索引删除列表中的元素

    列表.remove(value) 功能:删除列表中第一次出现的值
            
            list1.clear()  功能:清空列表
 判断:
    in  如果存在返回True 否则返回False
    not in 如果不存在返回True 否则返回False
5. +   *
  + 列表之间表示组合
  list1 += [1000, 2000]
  * 重复元组元素
  list2 = ['hello'] * 5
6. 排序
   列表.reverse() 反转列表中的元素
   列表.sort() 列表排序
7.切片    
   # 可以通过完整切片操作来复制列表
   fruits3 = fruits[:]
   # 可以通过反向切片操作来获得倒转后的列表的拷贝
   fruits5 = fruits[::-1]
8. 生成列表
  用range创建数字列表   list(range(1,11))
  生成表达式  【】
  生成器 ()
9. COPY
  list.copy()

zip([iterable, ...])

>>>a = [1,2,3]
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b)     # 打包为元组的列表
[(1, 4), (2, 5), (3, 6)] # [i for i in zip(a, b)]
>>> zip(a,c)              # 元素个数与最短的列表一致
[(1, 4), (2, 5), (3, 6)]
>>> zip(*zipped)          # 与 zip 相反,*zipped 可理解为解压,返回二维矩阵式
[(1, 2, 3), (4, 5, 6)]

元组 tuple

元组是不可变类型
元组和列表非常相似
元组是用小括号 列表使用[]
元组的元素都一个索引
元组中第一个元素的索引是:0
元组中最后一个元素的索引:元组的长度-1
元组中也有内置函数:len(元组名) 来获取元组的长度

元组的声明:

元组名=(元素...元素)

元组声明的方式:

第一种方式: 有多个元素
           
    arr=(12,3,4,5)

第二种方式:没有包含元素的元组
            
    tup=()

第三种方式:声明一个包含元素的元组

    tup=(10)

元组中的元素是不能被删除的 但是可以通过del 元组名 删除整个元组

tup4=(2,3,5,7)
print(tup4)
del tup4 #元组中的元素是不能被删除的 但是可以通过del 元组名 删除整个元组   

第一种遍历方式 :根据索引

tupx=(11,22,33,44,55,66)
x=0
while x<len(tupx):
    print("索引:%s--->元素:%s"%(x,tupx[x]))
    x+=1
print("********************")

第二种方式: for in

for t in tupx:
    print(t)
print("********************")

第三种方式:for in range(元组名)

for f in range(len(tupx)):
    print("索引:%s--->元素:%s"%(f,tupx[f]))

print("********************")
for g,obj in enumerate(tupx):
    print("索引:%s--->元素:%s"%(g,obj))

求元组最值

max(元组名)
min(元组名)

用基础代码写最值

#声明一个元组
tup=(90,56,23,-12,88,345)
#把元组中的第一个元素看做是最大值
m=tup[0]
#把元组中的第一个元素看做是最小值
m2=tup[0]
#遍历元组
a=0
while a<len(tup):
    #求最大值
    if m<tup[a]:
        m=tup[a]
    #求最小值
    if m2>tup[a]:
        m2=tup[a]
    a+=1
print("元组中的最大值:%s"%m)
print("元组中的最小值:%s"%m2)
#换索引
tup2=(90,56,23,-12,88,345)
#把第一个元素的索引 看做是最大值对应的索引
maxIndex=0
#把第一个元素的索引 看做是最小值对应的索引
minIndex=0
#遍历元组
b=0
while b<len(tup2):
    #求最大值对应的索引
    if tup2[maxIndex]<tup2[b]:
        maxIndex=b
    #求最小值对应的索引
    if tup2[minIndex]>tup2[b]:
        minIndex=b
    b+=1
print("元组中的最大值:%s"%tup2[maxIndex])
print("元组中的最小值:%s"%tup2[minIndex])

列表元组转换

list()

1.把字符串分割成一个一个的字符 存储到新的列表中

2.把元组中的每个元素 存储到新的列表中

tuple()

1.把字符串分割成一个一个的字符 存储到新的元组中

2.把列表中的每个元素 存储到新的元组中

字典 dict

字典是以键值对的形式存储信息
字典中必须保证键的唯一型
字典中键重复 值覆盖
字典也称为双列集合

字典声明的语法:

字典名={'键':'值','键':'值',...'键':'值'}

字典常用的操作:

1.添加/修改

    字典[键]=值  如果字典中没有该键 就是添加

    如果字典中已经存在了该键 就是修改(覆盖)

2.删除:

    dict.pop(键)  根据键删除指定的键值对 如果键不存在则报出错误

    del dict[键] 根据键删除指定的键值对  如果键不存在则报出错误

    dict.popitem() 随机删除一个键值对

    dict.clear() 清空字典中所有的键值对

3.获取:

    value=字典[键]  根据键获取值 如果该字典中没有该键 则报出错误

    value=dict.get(键) 根据键获取值 如果字典中没有该键 则返回None

    len(字典) 功能:获取字典中 键值对的个数

    str(字典) 功能:把字典转换为字符串

    keys() 功能:获取字典中所有的键 返回的是一个列表

    values() 功能:获取字典中所有的值 返回的是一个列表

遍历字典第一种方式

map4={"1":"张三","2":"李四","3":"王五","4":"赵六","5":"田七","6":"孙八"}
for k in map4:
    #print(k)
    #v=map4[k]
    v=map4.get(k)
    print("key--->%s,--->value--->%s"%(k,v))

遍历字典第二种方式:获取所有的键

keyList=map4.keys()

for k2 in keyList:
    
    v2=map4.get(k2)
    print("key--->%s,--->value--->%s"%(k2,v2))

遍历字典第三种方式:获取所有的键值对

kyValue=map4.items()
for k3,v3 in kyValue:
    print("key--->%s,--->value--->%s"%(k3,v3))

id方法的返回值就是对象的内存地址

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

推荐阅读更多精彩内容

  • 〇、前言 本文共108张图,流量党请慎重! 历时1个半月,我把自己学习Python基础知识的框架详细梳理了一遍。 ...
    Raxxie阅读 18,954评论 17 410
  • 文/Bruce.Liu1 1.运算符 本章节主要说明Python的运算符。举个简单的例子 4 +5 = 9 。 例...
    BruceLiu1阅读 771评论 0 6
  • 基本数据类型和运算 基本数据类型Python中最基本的数据类型包括整型,浮点数,布尔值和字符串。类型是不需要声明的...
    SeanCheney阅读 1,265评论 0 12
  • Python 简介Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python 的设...
    在暴风雨中逆袭阅读 1,722评论 0 12
  • 昨夜翻开今晨的一页, 把你从梦幻带往现实。 你不要迷迷糊糊, 现实中的每一秒钟, 带着新的一页的芬芳……
    小剧在成长阅读 199评论 0 2