京公网安备 11010802034615号
经营许可证编号:京B2-20210330
Python列表(list)、字典(dict)、字符串(string)基本操作
这篇文章主要介绍了Python列表(list)、字典(dict)、字符串(string)基本操作小结,本文总结了最基本最常用的一些操作,需要的朋友可以参考下。
创建列表
代码如下:
sample_list = ['a',1,('a','b')]
Python 列表操作
代码如下:
sample_list = ['a','b',0,1,3]
得到列表中的某一个值
代码如下:
value_start = sample_list[0]
end_value = sample_list[-1]
删除列表的第一个值
代码如下:
del sample_list[0]
在列表中插入一个值
代码如下:
sample_list[0:0] = ['sample value']
得到列表的长度
代码如下:
list_length = len(sample_list)
列表遍历
代码如下:
for element in sample_list:
print 'element'
Python 列表高级操作/技巧
产生一个数值递增列表
代码如下:
num_inc_list = range(30)
#will return a list [0,1,2,...,29]
用某个固定值初始化列表
代码如下:
initial_value = 0
list_length = 5
sample_list = [ initial_value for i in range(10)]
sample_list = [initial_value]*list_length
# sample_list ==[0,0,0,0,0]
附:python内置类型
1、list:列表(即动态数组,C++标准库的vector,但可含不同类型的元素于一个list中)
a = ["I","you","he","she"] #元素可为任何类型。
下标:按下标读写,就当作数组处理
以0开始,有负下标的使用
0第一个元素,-1最后一个元素,
-len第一个元素,len-1最后一个元素
取list的元素数量
代码如下:
len(list) #list的长度。实际该方法是调用了此对象的__len__(self)方法。
创建连续的list
代码如下:
L = range(1,5) #即 L=[1,2,3,4],不含最后一个元素
L = range(1, 10, 2) #即 L=[1, 3, 5, 7, 9]
list的方法
代码如下:
L.append(var) #追加元素
L.insert(index,var)
L.pop(var) #返回最后一个元素,并从list中删除之
L.remove(var) #删除第一次出现的该元素
L.count(var) #该元素在列表中出现的个数
L.index(var) #该元素的位置,无则抛异常
L.extend(list) #追加list,即合并list到L上
L.sort() #排序
L.reverse() #倒序
list 操作符:,+,*,关键字del
a[1:] #片段操作符,用于子list的提取
[1,2]+[3,4] #为[1,2,3,4]。同extend()
[2]*4 #为[2,2,2,2]
del L[1] #删除指定下标的元素
del L[1:3] #删除指定下标范围的元素
list的复制
代码如下:
L1 = L #L1为L的别名,用C来说就是指针地址相同,对L1操作即对L操作。函数参数就是这样传递的
L1 = L[:] #L1为L的克隆,即另一个拷贝。
list comprehension
[ <expr1> for k in L if <expr2> ]
2、dictionary: 字典(即C++标准库的map)
复制代码 代码如下:
dict = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}
每一个元素是pair,包含key、value两部分。key是Integer或string类型,value 是任意类型。
键是唯一的,字典只认最后一个赋的键值。
dictionary的方法
代码如下:
D.get(key, 0) #同dict[key],多了个没有则返回缺省值,0。[]没有则抛异常
D.has_key(key) #有该键返回TRUE,否则FALSE
D.keys() #返回字典键的列表
D.values() #以列表的形式返回字典中的值,返回值的列表中可包含重复元素
D.items() #将所有的字典项以列表方式返回,这些列表中的每一项都来自于(键,值),但是项在返回时并没有特殊的顺序
D.update(dict2) #增加合并字典
D.popitem() #得到一个pair,并从字典中删除它。已空则抛异常
D.clear() #清空字典,同del dict
D.copy() #拷贝字典
D.cmp(dict1,dict2) #比较字典,(优先级为元素个数、键大小、键值大小)
#第一个大返回1,小返回-1,一样返回0
dictionary的复制
dict1 = dict #别名
dict2=dict.copy() #克隆,即另一个拷贝。
3、tuple:元组(即常量数组)
代码如下:
tuple = ('a', 'b', 'c', 'd', 'e')
可以用list的 [],:操作符提取元素。就是不能直接修改元素。
4、string: 字符串(即不能修改的字符list)
代码如下:
str = "Hello My friend"
字符串是一个整体。如果你想直接修改字符串的某一部分,是不可能的。但我们能够读出字符串的某一部分。
子字符串的提取
代码如下:
str[:6]
字符串包含判断操作符:in,not in
代码如下:
"He" in str
"she" not in str
string模块,还提供了很多方法,如
代码如下:
S.find(substring, [start [,end]]) #可指范围查找子串,返回索引值,否则返回-1
S.rfind(substring,[start [,end]]) #反向查找
S.index(substring,[start [,end]]) #同find,只是找不到产生ValueError异常
S.rindex(substring,[start [,end]])#同上反向查找
S.count(substring,[start [,end]]) #返回找到子串的个数
S.lowercase()
S.capitalize() #首字母大写
S.lower() #转小写
S.upper() #转大写
S.swapcase() #大小写互换
S.split(str, ' ') #将string转list,以空格切分
S.join(list, ' ') #将list转string,以空格连接
处理字符串的内置函数
代码如下:
len(str) #串长度
cmp("my friend", str) #字符串比较。第一个大,返回1
max('abcxyz') #寻找字符串中最大的字符
min('abcxyz') #寻找字符串中最小的字符
string的转换
代码如下:
float(str) #变成浮点数,float("1e-1") 结果为0.1
int(str) #变成整型, int("12") 结果为12
int(str,base) #变成base进制整型数,int("11",2) 结果为2
long(str) #变成长整型,
long(str,base) #变成base进制长整型,
字符串的格式化(注意其转义字符,大多如C语言的,略)
str_format % (参数列表) #参数列表是以tuple的形式定义的,即不可运行中改变
>>>print ""%s's height is %dcm" % ("My brother", 180)
#结果显示为 My brother's height is 180cm
。。。。。。。。。。。。。。。。。。
list 和 tuple 的相互转化
tuple(ls)
list(ls)
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
先回答:下半年能考的证书,大致分四类 2026年下半年仍有报名或考试安排的证书,主要集中在四个方向:财会金融类(如注册会计师 ...
2026-10-27毕业后该考什么证书,答案不是一张热门榜单,而是一个顺序问题:先确定你要投的岗位方向,再判断哪些证书现在就能报、哪些要等工 ...
2026-10-2734岁考证,和二十多岁刚毕业时不是同一道题。这个年龄找工作,招聘方通常已经默认你有十年上下的工作积累,会拿“经验能不能直接 ...
2026-10-27咨询岗位最该优先掌握的不是某个工具,而是四类能串起项目全流程的能力:问题定义与结构化拆解、指标与对比分析、数据获取与清洗 ...
2026-10-27多数咨询岗位需要一定程度的数据分析能力,但“需要”不等于“必须会写代码或建模型”。咨询顾问至少要能看懂客户给的数据、把业 ...
2026-10-27咨询岗位的分析能力,不是“会套框架”或“PPT写得漂亮”,而是一条从问题到结论的能力链:问题拆解—假设验证—信息获取—数据 ...
2026-10-27需要,而且它不是“加分项”,是日常工作的基本工具。直播运营每天要面对选品排期、流量承接、转化复盘和投流决策,这些任务的结 ...
2026-10-27证券分析师的培训需求,最好从“最终要交什么”往回推。日常输出大致四类:行业跟踪报告、财报拆解与盈利预测、估值模型、路演与 ...
2026-10-27先给答案:一张四层知识地图 如果只用一句话回答“证券分析师最重要的知识是什么”,答案是:以财务分析和估值建模为硬核,以行 ...
2026-10-27市场策划不是“会写文案、能办活动”这么简单。招聘方真正考察的,是你能否围绕一个业务目标,完成从调研、人群判断、创意主题、 ...
2026-10-27市场运营想靠学习推动职业发展,容易掉进两个坑:一是把课程清单当能力清单,学完不知道用在哪;二是只补营销方法,遇到渠道效果 ...
2026-10-27产品运营做久了,很容易陷入一种忙碌:活动一场接一场,功能推了一版又一版,日报周报天天写,但说不清自己到底积累了什么。想提 ...
2026-10-27运营岗的“快速提升”,不是把Excel、SQL、Python挨个学一遍,而是先补上能立刻改变工作产出的能力。判断标准很直接:同样一场活 ...
2026-10-27优秀市场专员的能力不是单点技能堆出来的,而是“用户洞察—内容与活动策划—渠道获客—数据复盘”四块形成闭环。想快速上手,正 ...
2026-10-27运营专员的“通用知识”,不是一份越长越好的工具清单,而是能支撑日常任务判断的一套底盘。不同细分方向差异很大:用户运营更关 ...
2026-10-27运营专员最常见的困境不是不忙,而是忙完之后说不清效果:活动做了、内容发了、社群拉了人,汇报时却只有“曝光多少、入群多少” ...
2026-10-27运营经理提升职业知识,靠的不是多报几门课,而是先有一张自己的“知识地图”,再按当前岗位最卡壳的环节排顺序。比较实用的做法 ...
2026-10-27运营岗位的能力素质提升,核心不是把工具学一遍,而是围绕“目标拆解—用户洞察—执行落地—数据复盘”四层能力逐层补齐。工具是 ...
2026-10-27运营岗位的能力提升,最容易走成两条弯路:一是把“提升”等同于学工具,Excel、SQL、Python挨个报班,回到工作里还是凭经验拍脑 ...
2026-10-27运营岗最容易陷入的学习误区,是把“提升”等同于收藏平台玩法、追热点模板、背活动话术。这些内容有用,但迁移性差:换个行业、 ...
2026-10-27