Python基础-元组、列表、字典
元组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基础-元组、列表、字典的更多相关文章
- python 小白(无编程基础,无计算机基础)的开发之路,辅助知识6 python字符串/元组/列表/字典互转
神奇的相互转换,小白同学可以看看,很有帮助 #1.字典dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type ...
- Python基础2 列表 字典 集合
本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...
- python字符串/元组/列表/字典互转
#-*-coding:utf-8-*- #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type ' ...
- 转:python字符串/元组/列表/字典互转
#-*-coding:utf-8-*- #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type ...
- 【转】python字符串/元组/列表/字典互转
#-*-coding:utf-8-*- #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type ' ...
- Python基础灬列表&字典生成式
列表生成式 # 求1~10偶数的平方 # 1.常规写法 a_list = [] for i in range(1, 11): if i % 2 == 0: a_list.append(i * i) p ...
- python中元组/列表/字典/集合
转自:https://blog.csdn.net/lobo_seeworld/article/details/79404566
- Python基础数据类型-列表(list)和元组(tuple)和集合(set)
Python基础数据类型-列表(list)和元组(tuple)和集合(set) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的 ...
- python基础之列表list元组tuple
作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7041763.html python基础之列表list元组tuple 列表li ...
- 『Python基础-10』字典
# 『Python基础-10』字典 目录: 1.字典基本概念 2.字典键(key)的特性 3.字典的创建 4-7.字典的增删改查 8.遍历字典 1. 字典的基本概念 字典一种key - value 的 ...
随机推荐
- PS中如何把图片颜色加到字体上去
1.在PS中的图层中,将图片置于文字层的上方,同时按ctrl+alt+g键,这样就将文字范围以外的图像给剪切掉了.见附图下方的效果. 2.最终效果如下图: 参见:https://zhidao.baid ...
- IntelliJ IDEA -- 破解
① 到这个地方下载 IntelliJ IDEA 注册码:http://idea.lanyus.com/ 就是这个jar包:JetbrainsCrack-2.6.10-release-enc.jar ...
- java中的a++与++a的区别
++a:如果++在前就会先把a+1. a++:如果++在后就会先a然后在执行++的操作.代码: int a = 1; System.out.pritln(++a); //输出2 int s = 1; ...
- echo "" > 和 echo "" >> 的区别
在写shell脚本中,如果判断一个文件已经存在,但希望重写这个文件,一般用如下方式 echo "" > file.txt 这个表示清空文件的内容,如果使用 echo “” & ...
- 在windows 7上安装TensorFlow
TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习.目前被50个团队用于研究和生产许多Google商业产品,如语音识别.Gmail.Google 相册和搜索,其中许多产品曾使用 ...
- mac 电脑 打开隐藏文件
command +shift +. 第一次是打开,第二次是关闭
- Python实现百度贴吧自动顶贴机
开发这款小工具,我们需要做一些准备: url.txt:多个需要顶起的帖子地址. reply:多条随机回复的内容. selenium:浏览器自动化测试框架 首先,我们先使用pip完成selenium的安 ...
- LR 场景选项配置--笔记
1 tools-options --设置关系到loadgenerator行为应用于一个场景中的所有的load generator 这些设置用于未来所有运行的场景并且通常只需要设置一次 2 expert ...
- vue实例相关2
vue data中 对象/数组 不为空,即使定义为[]/{} new Vue({ el: '#main', data: { list: [], current: {}, aa:'' } }) cons ...
- vue axios 封装(一)
封装一: 'use strict' import axios from 'axios' import qs from 'qs' import NProgress from 'nprogress' im ...