python替换excel字符串_【Python代替Excel】9:列表、字符串、字典、推导式

Python处理数据,最常用的是dataframe结构。但dataframe其实也是由其他对象组成的,比如int、float、字符串等等。今天来了解一下其他常见的对象,熟悉他们的用法。

列表List

list1 = ['a','b','c'] #每个元素都是字符串

list2 = [1,2,3] #每个元素都是数字

list3 = ['a','b',1,2,[1,2]] #元素有字符串、数字、列表

列表里的元素,可以是各种格式,数字、字符串,甚至是列表。访问列表的值

print(list1[0]) #list1的第1个元素(索引从0开始)

print(list3[4][0]) #访问list3中[1,2]中的1

print(list3[0:3]) #切片:访问索引0、1、2,注意[0:3]不包含3

print(list1[-1]) #访问倒数第一个值列表的添加:extend和append

#注意extend和append的用法:单个元素时,用法一致。但多个元素时,不一致

list1.append('d') #append添加'd'

print('append:d\n',list1,'\n')

list1.extend('e') #extend添加'e'

print('extend:e\n',list1,'\n')

list1.append(list2) #append添加list2

print('append:list2\n',list1,'\n')

list1.extend(list2) #extend添加list2

print('extend:list2\n',list1,'\n')

可以看到,append是把list2整个塞进去,而extend是把list2的元素塞进去。这一点一定要分清楚哦。而且append和extend,都是在原来的列表上修改。元素移除

list1.pop(-1) #移除最后一个元素

list1.remove('a') #删除数值a,若有多个a,则删除第一个

注意,都是在原本的列表上修改。如果怕丢掉原始数据,一定要先备份,再操作。其他

list2.reverse() #把原列表顺序反转:如[1,2,3]改成[3,2,1]

['a','a','a','b'].count('a') #计数a的个数

['a','a','a','b'].index('a') #找到第一个a所在的索引

[1,2,3] + [4,5,6] #列表拼接

len(list1) #求list1的长度

min(list2) #最小值

list(set(['a','a','a','b'])) #列表去重:先转换成set集合(无重复数据),再转换成列表

字符串str

s1 = 'python and data'

s2 = 'hello'

s1[0] #索引第一个值

s1[3:7] #第3、4、5、6个值

s3 = s2 + s1 #字符串拼接

'p' in s1 #判断p是否在s1中,常用于if中

't' not in s1分割split

s = 'a.b.c.d-e-f-d'

s.split('.') #以.进行分割,返回列表

s.split('-') #以-进行分割,返回列表遍历字符串的索引、值

for i,v in enumerate('abcdefg'):

print(i,v) #i是index,v是数值

字典dict

d1 = {'李':5000,'王':3000,'张':8000,'吴':2500}

d2 = {'李2':1000}访问、运算

d1.keys() #字典的键

d1.values() #字典的值

d1.update(d2) #合并字典

d1['李'] #访问李

进阶:推导式

推导式还是比较方便的,相当于把for循环简写了,但是要脑子清晰,不然容易绕。

[x.upper() for x in 'abcde'] #将'abcde'大写,遍历字符串中的每个值

[x.upper() for x in 'abcaade' if x=='a'] #调出字符串中的a,并大写

[x for x in range(10) if x%3==0] #在0-9(不包含10)的数字中,求出3的倍数

list1 = ['a','b','c','d']

list2 = [1,2,3,4]

dict1 = {x:y for x,y in zip(list1,list2)} #将list1、list2配对成字典

专栏列表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值