python学习-day12:列表、元祖、字典介绍和内置
list:列表
>>>----可以被修改。修改成元素,元素可以使单独的数字,也可以是:新的list。
通过:链表。。每个元素存储的时候,同时会指向下一个元素。
二、list编辑修改方法 li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda']
2.1 索引
li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda']
print(li[1])
结果:2
答案
2.2 切片
li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda']
b=li[0:-1]
c=li[0:4]
d=li[1:3]
print(b)
print(c)
print(d)
[1, 2, 'alex', 'ds', '都是', 'alex', ['是正文', '赖晓', 'a']]
[1, 2, 'alex', 'ds']
[2, 'alex']
答案
2.3 修改:切片修改,变为元素。。单个修改,则是插入新的列表
li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda']
li[1]=[11,12,23]
print(li)
li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda']
li[1:3]=[32,23,23,233]
print(li)
[1, [11, 12, 23], 'alex', 'ds', '都是', 'alex', ['是正文', '赖晓', 'a'], 'jda']
答案
[1, 32, 23, 23, 233, 'ds', '都是', 'alex', ['是正文', '赖晓', 'a'], 'jda']
答案
li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda']
li[1]=120
print(li)
li[1]=[11,12,23]
print(li)
a=li[1:3]
print(a)
li[1:3]=[32,23,23,233]
print(li)
[1, 120, 'alex', 'ds', '都是', 'alex', ['是正文', '赖晓', 'a'], 'jda']
[1, [11, 12, 23], 'alex', 'ds', '都是', 'alex', ['是正文', '赖晓', 'a'], 'jda']
[[11, 12, 23], 'alex']
[1, 32, 23, 23, 233, 'ds', '都是', 'alex', ['是正文', '赖晓', 'a'], 'jda']
答案
2.4 删除
li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda']
del li[1]
print(li)
del li[0:2]
print(li)
[1, 'alex', 'ds', '都是', 'alex', ['是正文', '赖晓', 'a'], 'jda']
['ds', '都是', 'alex', ['是正文', '赖晓', 'a'], 'jda']
答案
2.5 for循环、while循环
li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda']
for i in li:
print(i)
1
2
alex
ds
都是
alex
['是正文', '赖晓', 'a']
jda
答案
2.6 in 判断操作
li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda']
v=2 in li
print(v)
True
答案
2.7 操作
li = [1, 12, 9, "age", ["石振文", ["", 10], "庞麦郎"], "alex", True]
v=li[3][1][0]
print(v)
结果:19
答案
2.8 字符串转化为列表
a="dsdsadasdasl"
v=list(a)
print(v)
['d', 's', 'd', 's', 'a', 'd', 'a', 's', 'd', 'a', 's', 'l']
答案
2.9 列表→字符串
1、整体转化
li=[1,2,'alex','ds','都是','alex','jda']
v=str(li)
print(v)
# 把整个li整体转化为字符串
[1, 2, 'alex', 'ds', '都是', 'alex', 'jda']
答案
2、每个元素转化:只能自己写for循环。列表中:既有数字又有字符串
s=''
li1=[1,2,'alex','ds','都是','alex','jda']
for i in li1:
a=str(i)
s += a
print(s)
12alexds都是alexjda
答案
3、列表中只有字符串:可用jion进行拼接
li1=['alex','ds','都是','alex','jda'] print("".join(li1))
alexds都是alexjda
答案
2.10 用len()
函数可以获得list元素的个数:
li = [1, 12, 9, "age", ["石振文", ["", 10], "庞麦郎"], "alex", True]
print(len(li))
运行结果:7
答案
三、list内置方法大全
# 对象.方法(..) list.append(self.参数)
3.1、append(self.,p_object):原来自最后追加。
li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda'] #1、append 原来值最后追加.不需要一个新的变量来接受,a=li.append(5) li.append(5)
li.append("dsds")
li.append([12,'dsds'])
print(li)
[1, 2, 'alex', 'ds', '都是', 'alex', ['是正文', '赖晓', 'a'], 'jda', 5, 'dsds', [12, 'dsds']]
答案
3.2 li.clear 清空列表
li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda']
li.clear()
print(li)
[]
答案
3.3 li.copy 拷贝 浅拷贝
li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda']
v=li.copy()
print(v)
[1, 2, 'alex', 'ds', '都是', 'alex', ['是正文', '赖晓', 'a'], 'jda']
答案
3.4 count 计算元素出现的次数
li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda']
v=li.count("alex")
print(v)
运行结果;2
答案
3.5 extend(self,iterable)扩展原列表,iterable→参数:可迭代对象:可以被for循环执行的。字符串、列表
li = [11, 22, 33, 22, 44]
li.extend([9898,“不得了”])
print(li)
[11, 22, 33, 22, 44, 9898, '不得了']
答案
append:
li = [11, 22, 33, 22, 44]
li.append([9898,"不得了"])
print(li)
[11, 22, 33, 22, 44, [9898, '不得了']]
答案
extend相当于内部循环append到列表最后:
li = [11, 22, 33, 22, 44]
li.extend([9898,"不得了"])
print(li) li = [11, 22, 33, 22, 44]
for i in [9898,"不得了"]:
li.append(i)
print(li)
li=[11, 22, 33, 22, 44, 9898, '不得了']
li.extend("不得了")
print(li)
前两个答案:[11, 22, 33, 22, 44, 9898, '不得了']
第三个代码:[11, 22, 33, 22, 44, 9898, '不得了', '不', '得', '了']
答案
3.6 index(self,value,start=None,stop=None) 找某个值索引位置。没有参数则从左到右,找到第一个。参数可以加索引的起始位置和结束位置
li = [11, 22, 33, 22, 44]
v= li.index(22)
print(v)
s= li.index(33)
print(s)
答案:1、2
3.7 insert .insert(self, index, p_object) 插入值的具体位置和插入的值。
li = [11, 22, 33, 22, 44]
li.insert(0,99) (0,[99])也是可以的
print(li)
[99, 11, 22, 33, 22, 44]
答案
3.8 pop(self,index=None) 删除某个值(1.指定索引;2. 默认最后一个),并获取删除的值
li = [11, 22, 33, 22, 44]
v = li.pop()
print(li)
print(v) li = [11, 22, 33, 22, 44]
v = li.pop(1)
print(li)
print(v)
[11, 22, 33, 22]
44 [11, 33, 22, 44]
22
答案
3.9 remove(self,value).
li = [11, 22, 33, 22, 44] #删除列表中的指定值,左边优先 删除第一个,就停止
li.remove(22)
print(li)
[11, 33, 22, 44]
答案
目前列表删除的方式:pop remove del li[0] del li[7:9] clear
3.10 rerevse 将当前列表进行翻转。
li = [11, 22, 33, 22, 44]
li.reverse()
print(li)
[44, 22, 33, 22, 11]
答案
3.11 sort(self,key=None,reverse=False) 排序 从小到大
li = [11,44, 22, 33, 22]
print(li)
li.sort() #从小到大排序
print(li) li = [11,44, 22, 33, 22]
print(li)
li.sort(reverse=True) #从大到小排序
print(li)
[11, 44, 22, 33, 22]
[11, 22, 22, 33, 44] [11, 44, 22, 33, 22]
[44, 33, 22, 22, 11]
答案
tuple 元祖 :另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改→增加,修改,删除都不行.
1.1、书写方法:
tu = (111,"alex",(11,22),[(33,44)],True,33,44,)
1.2、索引取值
tu = (111,"alex",(11,22),[(33,44)],True,33,44,)
v = tu[0]
print(v)
111
答案
1.3、切片
tu = (111,"alex",(11,22),[(33,44)],True,33,44,)
v = tu[0:2]
print(v)
(111, 'alex')
答案
1.4、for循环:可迭代对象
tu = (111,"alex",(11,22),[(33,44)],True,33,44,)
for item in tu:
print(item)
111
alex
(11, 22)
[(33, 44)]
True
33
44
答案
三、字典:dict
字典的key中:
①True和1不能同时存在,若存在的话就显示1个。
②列表、字典不能作为key。列表可以被修改为动态;
③元祖可以作为字典的key
以后知识:字典是作为哈希表来保存的。key会转化为:哈希值,values,则原样提取和转化。
由于列表不支持直接转化为哈希表。所以列表不能作为key
字典的value:可以是任何值,
info={'k1':'v1','k2':'v2'} 键值对
info={
'k1':18,
'k2':True,
'k3':[11,
22,
33,
{
'kk1':'vv1',
'kk2':'vv2',
'kk3':'vv3'}
],
'k4':(11,22,33,44),
}
字典方法大全:
3.1、通过索引定位相位的值:
v=info['k1']
print(v)
结果是:18
答案
v=info['k3'][3]['kk3']→vv3
3.2、删除 del info['key']
info = {
"k1": 18,
2: True,
"k3": [
11,
[],
(),
22,
33,
{
'kk1': 'vv1',
'kk2': 'vv2',
'kk3': (11,22),
}
],
"k4": (11,22,33,44)
}
del info['k1']
print(info)
删除相关的 del info['k3'][5]['kk1']
print(info)
{2: True, 'k3': [11, [], (), 22, 33, {'kk3': (11, 22), 'kk2': 'vv2'}], 'k4': (11, 22, 33, 44), 'k1': 18}
答案
3.3 进行for循环
info = {
"k1": 18,
2: True,
"k3": [
11,
[],
(),
22,
33,
{
'kk1': 'vv1',
'kk2': 'vv2',
'kk3': (11,22),
}
],
"k4": (11,22,33,44)
}
for item in info:
print(item)
for item in info.values():
print(item)
[11, [], (), 22, 33, {'kk2': 'vv2', 'kk3': (11, 22), 'kk1': 'vv1'}]
True
(11, 22, 33, 44)
18
答案
for k,v in info.items():
print(k,v)
k3 [11, [], (), 22, 33, {'kk2': 'vv2', 'kk1': 'vv1', 'kk3': (11, 22)}]
k1 18
2 True
k4 (11, 22, 33, 44)
答案
3.4
python学习-day12:列表、元祖、字典介绍和内置的更多相关文章
- python学习之列表,元祖,字典
python基础 列表 [ ] stats =[1,2,3,4,5] 元素1,2,3,4,5 下标,索引,角标,初始从0开始 增加 stats.append(7)#append方法添加 stats. ...
- python学习-字符串 列表 元祖
目录 Python翻转字符串(reverse string) 简单的步长为-1, 即字符串的翻转(常用) 递归反转 借用列表,使用reverse()方法 字符串常用操作 index split 切片 ...
- python学习 day12 (3月18日)----(装饰器内置函数)
读时间函数: # import time # def func(): # start_time = time.time() # 代码运行之前的时间 # print('这是一个func函数') # ti ...
- python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍
目录 python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍.md 一丶字典 1.字典的定义 2.字典的使用. 3.字典的常用方法. python学习第八讲,python ...
- python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍
目录 python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 2.元祖变量的定义 3.元祖变量的常用操作. 4.元祖的遍历 5.元祖的应用场景 p ...
- python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍
目录 python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍. 二丶列表,其它语言称为数组 1.列表的定义,以及语法 2.列表的使用,以及常用方法. 3.列表的常用操作 ...
- python学习8—函数之高阶函数与内置函数
python学习8—函数之高阶函数与内置函数 1. 高阶函数 a. map()函数 对第二个输入的参数进行第一个输入的参数指定的操作.map()函数的返回值是一个迭代器,只可以迭代一次,迭代过后会被释 ...
- Python学习笔记---切片 列表 元祖 字典 集合
列表[1,2,3,2]#[] 元祖(1,2,3,2)#() 字典{1:2,3:2}#{} 集合{1,2,3,2}#{} 1,集合与列表的区别,集合里不能有重复元素 2.字典与集合的区别,都是用花括号表 ...
- python-基础-字符串-列表-元祖-字典2
接上:http://www.cnblogs.com/liu-wang/p/8973273.html 3 元组 4 字典 4.1 字典的介绍 <2>软件开发中的字典 变量info为字典类型: ...
随机推荐
- css学习笔记 2
css中的简写: 颜色的简写有三种:十六进制的形式.rgb(a).颜色名称. 单位的省略:当属性值为0px时,可以简写为0. margin和padding的简写,不多说了. border的简写:bor ...
- [转][C/C++] 怎样不用中间变量temp 实现两个数交换
第一类方法也是常用的方法,通过多次的数值计算来完成交换,到现在知道的有下面三种: (1)加减法. a = a + b; b = a - b; a = a - b; 该方法可以交换整型和浮点型数值的变量 ...
- Question and Answer
1.VS2013使用EntityFrame问题解决办法 解决办法参照博客http://pinter.org/?p=2374 使用到EntityFrame的项目配置文件修改如下: 项目中凡是使用到DbC ...
- mysql 处理查询请求过程
需要搞清楚查询为什么会慢,就要搞清楚mysql处理查询请求的过程: 1.客户端发送SQL请求给服务器 2.服务器检查是否可以在查询缓存中命中该SQL 查询缓存对SQL性能的影响. 1.需要对缓存加 ...
- HttpCache ETag与Last-Modified与Expires
Last-Modified 是检查一个资源最后修改时间.如果时间过期了则返回资源内容.如果没过期,返回304.当Last-Modified更新了,但是资源本质上没有更新,比如资源是A,Last-Mod ...
- HDU 3397 Sequence operation
题目:下列操作 Change operations:0 a b change all characters into '0's in [a , b]1 a b change all character ...
- ExtJs中gridpanel分组后组名排序
/** * 定义降序的groupingStore */ var DescGroupingStore = Ext.extend(Ext.data.GroupingStore, { groupDir : ...
- Jenkins快速上手
一.Jenkins下载安装 1.到官网下载jenkins.war包:http://jenkins-ci.org/ 2.安装方法有两种: a) 把下载下来的jenkins.war包放到文件夹下,如C:\ ...
- 《算法竞赛入门经典》5.41数学基础-Cantor的数表
如下数列,第一项是1/1,第二项是1/2,第三项是2/1,第四项是3/1,第五项是2/2,…….输入n,输出第n项.1/1 1/2 1/3 1/4 1/52/1 2/2 2/3 ...
- vertical-align及IE7下的inline-block
在IE7下,是不支持inline-block元素的,当对块级元素如dl进行inline-block样式设置时,在IE7浏览器是下样式是不会生效的. 若要在IE7下实现将块级元素设置为内联元素,可以这样 ...