元组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. 【转】使用 lsof 查找打开的文件

      在 UNIX® 环境中,文件无处不在,这便产生了一句格言:“任何事物都是文件”.通过文件不仅仅可以访问常规数据,通常还可以访问网络连接和硬件.在有些情况下,当您使用 ls 请求目录清单时,将出现相 ...

  2. linux audit审计(5)--audit规则配置

    audit可以配置规则,这个规则主要是给内核模块下发的,内核audit模块会按照这个规则获取审计信息,发送给auditd来记录日志. 规则类型可分为: 1.控制规则:控制audit系统的规则: 2.文 ...

  3. PHP爬虫框架Snoopy的使用

    参考文档: http://ibillxia.github.io/blog/2010/08/10/php-connecting-tool-snoopy-introduction-and-applicat ...

  4. lr分布式测试--笔记

    LR 架构: controller做测试控制 scenario做测试场景的控制 vuser模拟用户和 load generator做负载产生 通过MI listener 跨防火墙监听 来实现分布式测试 ...

  5. MySQL——安装、配置、启动服务、

    1.环境变量配置 将启动连接,加入环境变量中. mysqld  :启动服务端 msysql -u 用户名 -p 密码 : 启动客户端 2.windows服务:一直在运行中 E:\wupeiqi\mys ...

  6. Python——线程1

    多线程并发 from threading import Thread import time #多线程并发 def func(n): time.sleep(1) print(n) for i in r ...

  7. Modbus CRC 16 (C#)

    算法 1.预置一个值为 0xFFFF 的 16 位寄存器,此寄存器为 CRC 寄存器. 2.把第 1 个 8 位二进制数据(即通信消息帧的第 1 个字节)与 16 位的 CRC 寄存器相异或,异或的结 ...

  8. Draw your Next App Idea with Ink to Code

    Imagine that you’ve just been struck by inspiration for your next great app. You might start by jott ...

  9. .NET Core 2.0及.NET Standard 2.0 Description

    NET Core 2.0的发布时间,.NET Core 2.0预览版及.NET Standard 2.0 Preview大概在5月中旬或下旬发布. .NET Core 2.0正式版本发布时间大约在Q3 ...

  10. Nginx 4层反向代理

    L112 是基于TCP POST_ACCEPT阶段 在建立连接后所做的事情 PREACCESS阶段  limit_conn 限流 与HTTP类似 ACCESS阶段 类似HTTP模块用于控制访问权限 S ...