浅谈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列表删除的三种方法代码分享

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

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

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

浅谈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简单删除列表中相同元素的方法示例

本文实例讲述了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 字符串转列表 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文件字符串转列表时遇到空行的问题

文件内容如下: 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列表list内建函数用法实例分析【insert、remove、index、pop等】

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

Python lambda函数基本用法实例分析

本文实例讲述了Python lambda函数基本用法.分享给大家供大家参考,具体如下: 这里我们简单学习一下python lambda函数. 首先,看一下python lambda函数的语法,如下: f=lambda [parameter1,parameter2,--]:expression lambda语句中,冒号前是参数,可以有0个或多个,用逗号隔开,冒号右边是返回值.lambda语句构建的其实是一个函数对象. 1>无参数 f=lambda :'python lambda!' >>&

Python多层装饰器用法实例分析

本文实例讲述了Python多层装饰器用法.分享给大家供大家参考,具体如下: 前言 Python 的装饰器能够在不破坏函数原本结构的基础上,对函数的功能进行补充.当我们需要对一个函数补充不同的功能,可能需要用到多层的装饰器.在我的使用过程中,遇到了两种装饰器层叠的情况,这里把这两种情况写下来,作为踩坑记录. 情况1 def A(funC): def decorated_C(funE): def decorated_E_by_CA(*args, **kwargs): out = funC(funE)

Python中super关键字用法实例分析

本文实例讲述了Python中super关键字用法.分享给大家供大家参考.具体分析如下: 在Python类的方法(method)中,要调用父类的某个方法,在Python 2.2以前,通常的写法如代码段1: 代码段1: class A: def __init__(self): print "enter A" print "leave A" class B(A): def __init__(self): print "enter B" A.__init

python中enumerate函数用法实例分析

本文实例讲述了python中enumerate函数用法.分享给大家供大家参考.具体分析如下: 今日发现一个新函数 enumerate .一般情况下对一个列表或数组既要遍历索引又要遍历元素时,会这样写: for i in range (0,len(list)): print i ,list[i] 但是这种方法有些累赘,使用内置enumerrate函数会有更加直接,优美的做法,先看看enumerate的定义: def enumerate(collection): 'Generates an inde

Python中max函数用法实例分析

本文实例讲述了Python中max函数用法.分享给大家供大家参考.具体如下: 这里max函数是Python内置的函数,不需要导入math模块 # 最简单的 max(1, 2) max('a', 'b') # 也可以对列表和元组使用 max([1,2]) max((1,2)) # 还可以指定comparator function max('ah', 'bf', key=lambda x: x[1]) def comparator(x): return x[1] max('ah', 'bf', ke

python中pass语句用法实例分析

本文实例讲述了python中pass语句用法.分享给大家供大家参考.具体分析如下: 1.空语句 do nothing 2.保证格式完整 3.保证语义完整 4.以if语句为例: C/C++中写法: if(true) ; // do nothing else {} // do nothing python中写法: if true: pass # do nothing else: print "do something." 测试程序:定义一个空函数 >>> def null

python的keyword模块用法实例分析

本文实例讲述了python的keyword模块用法.分享给大家供大家参考.具体如下: Help on module keyword: NAME keyword - Keywords (from "graminit.c") FILE /usr/lib64/python2.6/keyword.py DESCRIPTION This file is automatically generated; please don't muck it up! To update the symbols

python中threading超线程用法实例分析

本文实例讲述了python中threading超线程用法.分享给大家供大家参考.具体分析如下: threading基于Java的线程模型设计.锁(Lock)和条件变量(Condition)在Java中是对象的基本行为(每一个对象都自带了锁和条件变量),而在Python中则是独立的对象.Python Thread提供了Java Thread的行为的子集:没有优先级.线程组,线程也不能被停止.暂停.恢复.中断.Java Thread中的部分被Python实现了的静态方法在threading中以模块方

Python字典的基本用法实例分析【创建、增加、获取、修改、删除】

本文实例讲述了Python字典的基本用法.分享给大家供大家参考,具体如下: 字典是一系列的键值对 . 每个键都与一个值相关联, 我们可以使用键来访问与之相关联的值. 与键相关联的值可以任何 Python 对象,比如数字. 字符串. 列表甚至是字典. 1 创建字典 我们举一个英文单词的例子来说明: dict = {'evaporation': '蒸发,发散: 消失: 汽化: 蒸发法', 'carpenter': '木工,木匠'} print('dict=' + str(dict)) 键和值之间用冒