元组tuple

元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组。例:(1,2,3)("a","b","c")

tu=('qiaofeng',2,'xuzhu',True)
print(tu[2:])

元组子元素不能更改,但是子—>子元素有可能更改

tu=('wuyazi',2,['qiaofeng','xuzhu','duanyu'],True)
tu[2].pop(1)
print(tu)

Ture在字典、元组中换算成1

tu = (1,2,'wusir','taibai',True)
print(tu.count(1))

列表list

列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:

li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}]

列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。

1.增

append  增加到最后,每次只能增加一个元素

li = [1,'a','b',2,3,'a']
li.append('aaa') #增加到最后
li.append([1,2,3]) #增加到最后
print(li)

Insert   插入,按照索引去增加,每次只能增加一个元素

li = [1,'a','b',2,3,'a']
li.insert(2,55) #按照索引去增加
print(li)

extend  尾部插入,迭代的去增

li = [1,'a','b',2,3,'a']
li.extend(['q,a,w'])
li.extend(['q,a,w','aaa'])
li.extend('a')
li.extend('abc')  #迭代的去增
li.extend('a,b,c')
print(li)

2.删

pop  只能按照位置去删除,有返回值,每次只能删除一个元素

li = [1,'a','b',2,3,'a']
l1 = li.pop(0) #按照位置去删除,有返回值
print(l1)
li = [1,'a','b',2,3,'a']
li.pop() #默认删除最后一个元素
print(li)

remove   按照元素去删除,没有返回值

li = [1,'a','b',2,3,'a']
li.remove('a') #按照元素去删除
print(li)

clear  清空

li = [1,'a','b',2,3,'a']
li.clear() #清空列表
print(li)

del  

1:删除列表

li = [1,'a','b',2,3,'a']
del li
print(li)

2.可以按照切片、索引去删除,没有返回值

# li = [1,'a','b',2,3,'a']
# del li[0] #按照索引去删除
# del li[1:3] #按照切片去删除
# del li[1:5:2] #加步长
# print(li)

3.改  

li = [1,'a','b',2,3,'a']
li[1] = 'dfasdfas' #按照索引去改
print(li)
li[1:3] = ['n','k'] #按照切片去改
print(li)

4.查

按切片、索引或者循环

li = [1,'a','b',2,3,'a']
a=li[2]
b=li[0:3]
print(a)
print(b)
li = [1,'a','b',2,3,'a']
for i in li:
print(i)

5.其他操作

count(数)  (方法统计某个元素在列表中出现的次数)

a = ["q","w","q","r","t","y"]
print(a.count("q"))

index  (方法用于从列表中找出某个值第一个匹配项的索引位置)

a = ["q","w","r","t","y"]
print(a.index("r"))

sort   (方法用于在原位置对列表进行排序)

ls = [1,3,6,8,7,4,2,9,10]
ls.sort()
print(ls)
# sort(reverse)T从大到小   F从小到大
ls.sort(reverse=True)
print(ls)

reverse  (方法将列表中的元素反向存放)

a = [2,1,3,4,5]
a.sort()# 他没有返回值,所以只能打印a
print(a)
a.reverse()#他也没有返回值,所以只能打印a
print(a)

列表的嵌套

 l1 = ['小新','egon','wusir',[99,'tiabai','ritian',[2,3]],2]
l1[1] = l1[1].capitalize()
l1[1] = 'Alex'
print(l1)
l1[3][1] = l1[3][1].upper()
print(l1)
l1[3][0] = str(l1[3][0] + 1)
print(l1)

字典dic

字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,

字典(dictionary)是除列表意外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

可变与不可变

  不可变数据类型:int,str,bool,tuple

  可变数据类型:list,dict,set(集合)

字典的键是唯一的且是不可变数据类型 key:value

value任意数据类型

在3.5版本之前,字典是无序的,3.6之后,有序。

字典的增、删、改、查

dic(key)=value  #有相同的key就覆盖,没有则添加

setdefault(key,value)  #在字典中添加键值对,如果只有键那对应的值是none,有key不覆盖,没有key添加

dic.pop(key)  #按key删除,有返回值

dic.pop('不存在字典的内容','没有此键')  #如果没有此key,可设置返回值

dic.clear()  #清空字典的内容

del dic  #删除字典

del dic[key]  #删除键值对

popitem(dic)  #随机删除,python3.6以后默认删除最后一位

dic[key]=value  #有相同的key,就覆盖

update  #将dic的键值对覆盖,添加到dic2中,dic不变

dic2.update(dic)

 查

print(dic['name'])  #没有会报错

print(dic.get('name2'))  #没有会自动显示,返回None

print(dic.get('name2','没有此键值对'))  #没有会显示没有此键值对

字典的其他操作

keys = dic.keys()

print(keys,type(keys))  #显示所有的键,并转化成列表

values = dic.values()

print(values,type(values))  #显示所有的值

item = dic.items()

print(item,type(item))  #显示所有键和值,dict_items类型,可迭代的

字典的循环

打印所有键:

for k in dic:

  print(k) 

for k in dic.keys():

  print(k)

打印所有值:

for v in dic.values():

  print(v)

字符形式打印所有键,值

for k,v in dic.items():

  print(k,v)

for k in dic:

  print(k,dic[k])

字典的嵌套 

字典嵌套

 dic = {
'name':'金鑫',
'name_list':[1,2,3,'李杰'],
1:{
'python10':['小黑','萌哥'],
'老男孩':{'name':'oldboy','age':56}
}
}
#1,[1,2,3,'李杰']追加'wusir'
#2, ['小黑','萌哥'] 小黑 萌哥中间 插入一个花哥
#3, {'name':'oldboy','age':56} 添加一个键值对,hobby:男人 dic['name_list'].append('wusir')
print(dic) dic[1]['python10'].insert(1,'花哥')
print(dic) dic[1]['老男孩'].setdefault('hobby','男人')
print(dic)

其他(for,enumerate,range)

for循环:用户按照顺序循环可迭代对象的内容。

msg = '老男孩python是全国范围内最好的python培训机构'
for item in msg:
print(item) li = ['alex','银角','女神','egon','太白']
for i in li:
print(i) dic = {'name':'太白','age':18,'sex':'man'}
for k,v in dic.items():
print(k,v)

range:当作范围列表,列表中的元素是数字,且可控的有效数字

for i in range(1,10):
print(i) for i in range(1,10,2): # 步长
print(i) for i in range(10,1,-2): # 反向步长
print(i)

Python基础-元组、列表、字典的更多相关文章

  1. python 小白(无编程基础,无计算机基础)的开发之路,辅助知识6 python字符串/元组/列表/字典互转

    神奇的相互转换,小白同学可以看看,很有帮助 #1.字典dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type ...

  2. Python基础2 列表 字典 集合

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...

  3. python字符串/元组/列表/字典互转

    #-*-coding:utf-8-*- #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type ' ...

  4. 转:python字符串/元组/列表/字典互转

    #-*-coding:utf-8-*-  #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type ...

  5. 【转】python字符串/元组/列表/字典互转

    #-*-coding:utf-8-*- #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type ' ...

  6. Python基础灬列表&字典生成式

    列表生成式 # 求1~10偶数的平方 # 1.常规写法 a_list = [] for i in range(1, 11): if i % 2 == 0: a_list.append(i * i) p ...

  7. python中元组/列表/字典/集合

    转自:https://blog.csdn.net/lobo_seeworld/article/details/79404566

  8. Python基础数据类型-列表(list)和元组(tuple)和集合(set)

    Python基础数据类型-列表(list)和元组(tuple)和集合(set) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的 ...

  9. python基础之列表list元组tuple

    作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7041763.html python基础之列表list元组tuple 列表li ...

  10. 『Python基础-10』字典

    # 『Python基础-10』字典 目录: 1.字典基本概念 2.字典键(key)的特性 3.字典的创建 4-7.字典的增删改查 8.遍历字典 1. 字典的基本概念 字典一种key - value 的 ...

随机推荐

  1. 布局管理器之BorderLayout(边界布局)

    边界布局管理器把容器的的布局分为五个位置:CENTER.EAST.WEST.NORTH.SOUTH.依次对应为:上北(NORTH).下南(SOUTH).左西(WEST).右东(EAST),中(CENT ...

  2. 每日一小时linux(1)--sysRq

    参考https://www.ibm.com/developerworks/cn/linux/l-cn-sysrq/index.html SysRq 是什么 你是否遇到服务器不能通过 SSH 登录,也不 ...

  3. 三、kubernetes环境搭建(实践)

    一.目前近况 docker 版本 K8S支持 18.06的 二.安装docker #1.配置仓库 sudo yum install -y yum-utils device-mapper-persist ...

  4. javascript帧动画

    前面的话 帧动画就是在“连续的关键帧”中分解动画动作,也就是在时间轴的每帧上逐帧绘制不同的内容,使其连续播放而成的动画.由于是一帧一帧的画,所以帧动画具有非常大的灵活性,几乎可以表现任何想表现的内容. ...

  5. 51nod2383

    2383 高维部分和 1 秒 131,072 KB 80 分 5 级题   输入一个长度为n的数组a[i],下标从0开始(0到n-1)保证n是2的整数次幂,对于每个i (0 <= i < ...

  6. 简单聊聊Linux学习经历

    学习,是我们一生中都规避不了的一个话题,人的一生中都是在不断的学习,无论是功成名就的人士,还是一无是处的小混混,始终都处在一个不断学习的环境中,只是学习的内容千差万别,有的人是为了提升自己各方面的能力 ...

  7. 第四十九天 mysql 索引 元类

    一 昨日回顾 视图 触发器 事务 什么是事务 逻辑上的一组操作 要么都成功 要么都失败 如何使用 start transaction 开启事务 mysql 默认一条sql就是一个事务 pymysql默 ...

  8. 第三十八天 GIL 进程池与线程池

    今日内容: 1.GIL 全局解释器锁 2.Cpython解释器并发效率验证 3.线程互斥锁和GIL对比 4.进程池与线程池 一.全局解释器锁 1.GIL:全局解释器锁 GIL本质就是一把互斥锁,是夹在 ...

  9. Cetos 中添加bbr服务

    说明:此方法只适用于KVM架构的,OpenVZ平台无法使用: 一:安装bbr服务: # wget --no-check-certificate https://github.com/teddysun/ ...

  10. [ZJOI2009]函数 题解

    题目链接:[ZJOI2009]函数 对于$n=1$的情况,直接输出$1$ 对于$n>1$的情况,由于我们可以将图上下反转,所以第$k$层的情况可以被转成第$n-k+1$层 规律自己打个表可以推出 ...