浅谈python中列表、字符串、字典的常用操作

列表操作如此下:

a = ["haha","xixi","baba"]

增:a.append[gg]

a.insert[1,gg] 在下标为1的地方,新增 gg

删:a.remove(haha) 删除列表中从左往右,第一个匹配到的 haha

del a.[0] 删除下标为0 对应的值
a.pop(0) 括号里不写内容,默认删除最后一个,写了,就删除对应下标的内容

改:a.[0] = "gg"

查:a[0]

a.index("haha") 显示从左往右,第一个匹配到的 haha 下标
a.count("haha") 显示 haha 在列表里一共多少个
a.clear() 清空列表 a

快速遍历列表内容,并去下标,一起打印。

enumerate(a)是将列表每个下标、下标内容取出来,放到一个数组里,所以可以用for循环去遍历。

a = ["haha","xixi","baba"]
for index,data in enumerate(a):print(index,":",data)

结果:

0 : haha
1 : xixi
2 : baba

重点说明:

a.copy() 浅copy,比如a = ["haha","xixi",["yan","liu"],"baba"]
b = a.copy()

修改a外面的内容,b不会随着更改!

修改a里面的列表内容 ["yan","liu"],b会随着更改~~

原因:其实a列表里面的列表 ["yan","liu"] 是在内存中单独存在,a只是将这个内存指针写到这了,["yan","liu"]它是个独立的。

简单用途:创建共同帐号,即外层独立,内层列表共享。

import copy
b = copy.deepcopy(a) 深层、完全copy,b完全独立。 但少用。因为会开辟一个独立的内存空间。如果a列表很大,这样会很消耗内存。

字符串操作:

name = "名字是{name},年龄是{age}"
print(name.capitalize()) #首字母大写
print(name.center(50,"-")) #左右加25个“-”
print(name.endswith("an")) #判断是不是以“an”结尾
print(name.find("a")) #从左往右开始找到的第一个“a”的下标
print(name.format(name="yan",age="24")) #将字符串{}里面的内容转意

字典操作:

字典获取值的方法:

a = {"yan":123,"liu":456}
print(a["yan"]) #方法1,如果key不存在,会报错
print(a.get("yanada")) #方法2,如果ket不存在,返回None

a.keys() #获取key
a.values() #获取value

*** serdefault用法:

a.setdefault("yan",789)
print(a)
{'liu': 456, 'yan': 123}
a.setdefault("wang",789)
print(a)
{'yan': 123, 'liu': 456, 'wang': 789}

先到字典找这个key值,找到了,就返回其对应的value 没找到就证明没有,则新增一个这个key值,并赋值value 这样就可以在新增字典内容的时候,起到一个避免key值相同,新增不成功,反而将原来的key对应的value该掉了

*** update用法:

a = {"yan":123,"liu":456}
b = {"yan":666,"haha":888}
a.update(b)
print(a)
{'yan': 666, 'haha': 888, 'liu': 456}

将b做为参数,传给update函数,与a合并,如果key值相同,则以b为准,a的要被更新掉

items用法:

将字典变为列表,其中列表内容---key和value组成一个元组,key下标为0,value下标为1

以上这篇浅谈python中列表、字符串、字典的常用操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

时间: 2017-09-18

python数据结构之列表和元组的详解

python数据结构之 列表和元组 序列:序列是一种数据结构,它包含的元素都进行了编号(从0开始).典型的序列包括列表.字符串和元组.其中,列表是可变的(可以进行修改),而元组和字符串是不可变的(一旦创建了就是固定的).序列中包含6种内建的序列,包括列表.元组.字符串.Unicode字符串.buffer对象.xrange对象. 列表的声明: mylist = [] 2.列表的操作: (1) 序列的分片: 用法:mylist[startIndex:endIndex:step] exam: myli

Python列表list内建函数用法实例分析【insert、remove、index、pop等】

本文实例讲述了Python列表list内建函数用法.分享给大家供大家参考,具体如下: #coding=utf8 ''''' 标准类型函数: cmp():进行序列比较的算法规则如下: ----------------------------------------------------------------------------- 1. 对两个列表的元素进行比较 2. 如果比较的元素是同类型的,则比较其值,返回结果 3. 如果两个元素的不是同一种类型,则检查它们是否是数字 a. 如果是数字,

解决python文件字符串转列表时遇到空行的问题

文件内容如下: Alex 100000 Rain 80000 Egon 50000 Yuan 30000 #此处有一个空行! 现在看如何处理并转成列表! salary_info = open("salaryinfo.txt", "r+", encoding="UTF-8") salary_info_list = [] for line in salary_info.readlines(): if line == '\n': pass else:

Python简单删除列表中相同元素的方法示例

本文实例讲述了Python简单删除列表中相同元素的方法.分享给大家供大家参考,具体如下: 去除列表中重复的元素,非常简单,直接上代码: a = [11, 21, 3, 4, 3, 2, 5] b = list(set(a)) print(a) print(b) 运行结果: E:\Program\Python>d.py [11, 21, 3, 4, 3, 2, 5] [2, 3, 4, 5, 11, 21] 看到了吗,结果中确实没有了重复的元素.但是,同时,结果中的元素被按从小到大进行了排序! P

浅谈python for循环的巧妙运用(迭代、列表生成式)

介绍 我们可以通过for循环来迭代list.tuple.dict.set.字符串,dict比较特殊dict的存储不是连续的,所以迭代(遍历)出来的值的顺序也会发生变化. 迭代(遍历) #!/usr/bin/env python3 #-*- coding:utf-8 -*- vlist=['a','b','c'] vtuple=('a','b','c') vdict={'a': 1, 'b': 2, 'c': 3} vset={'a','b','c'} vstr='abc' for x in vl

python 字符串转列表 list 出现\ufeff的解决方法

如下所示: #文件内容 lisi lock = open("lock_info.txt", "r+",encoding="utf-8") lock_line = lock.readline() lock_list = lock_line.split(",") print(lock_list) y = lock_line.encode('utf-8').decode('utf-8-sig') print(y) #打印结果如下 [

Python列表删除的三种方法代码分享

1.使用del语句删除元素 >>> i1 = ["a",'b','c','d'] >>> del i1[0] >>> print(i1) ['b', 'c', 'd'] >>> del语句将值从列表中删除后,就再也无法访问它了. 2.使用pop()删除元素 pop()可删除列表末尾的元素,并让你能够接着使用它.食欲弹出(pop)源自这样的类比:列表就是一个栈,而删除列表末尾的元素相当于弹出栈顶元素. >>

详解python播放音频的三种方法

第一种 使用pygame模块 pygame.mixer.init() pygame.mixer.music.load(self.wav_file) pygame.mixer.music.set_volume(0.5) pygame.mixer.music.play() 缺点:pygame模块播放音频时,有时候会产生失真,且无法通过修改播放器的频率来矫正音色. 第二种 使用pyqt5模块 from PyQt5 import QtMultimedia from PyQt5.QtCore import

python 字典访问的三种方法小结

定义字典 dic = {'a':"hello",'b':"how",'c':"you"} 方法一: for key in dic: print key,dic[key] print key + str(dic[key]) 结果: a hello ahello c you cyou b how bhow 细节: print key,dic[key],后面有个逗号,自动生成一个空格 print key + str(dic[key]),连接两个字符串,

Python编程产生非均匀随机数的几种方法代码分享

1.反变换法 设需产生分布函数为F(x)的连续随机数X.若已有[0,1]区间均匀分布随机数R,则产生X的反变换公式为: F(x)=r, 即x=F-1(r) 反函数存在条件:如果函数y=f(x)是定义域D上的单调函数,那么f(x)一定有反函数存在,且反函数一定是单调的.分布函数F(x)为是一个单调递增函数,所以其反函数存在.从直观意义上理解,因为r一一对应着x,而在[0,1]均匀分布随机数R≤r的概率P(R≤r)=r. 因此,连续随机数X≤x的概率P(X≤x)=P(R≤r)=r=F(x) 即X的分

python求绝对值的三种方法小结

如下所示: 1.条件判断 2.内置函数abs() 3.内置模块 math.fabs abs() 与fabs()的区别 abs()是一个内置函数,而fabs()在math模块中定义的. fabs()函数只适用于float和integer类型,而abs()也适用于复数. abs()返回是float和int类型,math.fabs()返回是float类型 以上这篇python求绝对值的三种方法小结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

java检查服务器的连通两种方法代码分享

首先要了解一下ping的内容. 概述 PING (Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序.Ping发送一个ICMP(Internet Control Messages Protocol)即因特网信报控制协议:回声请求消息给目的地并报告是否收到所希望的ICMPecho (ICMP回声应答).它是用来检查网络是否通畅或者网络连接速度的命令.作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:利用

ASP.NET对无序列表批量操作的三种方法小结

本篇介绍服务器端ASP.NET批量操作基于原生html标签的无序列表的三种方法. 方法一,将li元素做成html控件,加上id,用FindControl方法. aspx代码: 复制代码 代码如下: <form id="form1" runat="server"> <ul> <li id="li1" runat="server">初始值1</li> <li id="

删除SVN三种方法delSvn(windows+linux)

一.在linux下 删除这些目录是很简单的,命令如下 find . -type d -name ".svn"|xargs rm -rf 或者 find . -type d -iname ".svn" -exec rm -rf {} \; 二.在windows下用以下法子: 1.在项目平级的目录,执行dos命令: xcopy project_dir project_dir_1 /s /i 2.或者在项目根目录执行以下dos命令 for /r . %%a in (.)

详解python调用cmd命令三种方法

目前我使用到的python中执行cmd的方式有三种 使用os.system("cmd") 该方法在调用完shell脚本后,返回一个16位的二进制数,低位为杀死所调用脚本的信号号码,高位为脚本的退出状态码,即脚本中"exit 1"的代码执行后,os.system函数返回值的高位数则是1,如果低位数是0的情况下,则函数的返回值是0×100,换算为10进制得到256. 如果我们需要获得os.system的正确返回值,那使用位移运算可以还原返回值: >>>

python删除列表元素的三种方法(remove,pop,del)

remove 删除单个元素,删除首个符合条件的元素,按值删除,返回值为空 List_remove = [1, 2, 2, 2, 3, 4] print(List_remove.remove(2)) print("after remove", List_remove) # None # after remove [1, 2, 2, 3, 4] -------------------------------------------------------------------------