在我这里没有问题啊,能够正确地分割。注意最好不要用内置函数名称作为变量名。
创新互联建站主要从事成都网站制作、网站建设、外贸网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务鄂州,10多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108
Python中split()函数,通常用于将字符串切片并转换为列表。
split():语法:
拆分字符串。通过制定分隔符将字符串进行切片,并返回分割后的字符串列表[list]
参数:str:分隔符,默认为空格,但不能为空("")
num: 表示分割次数。如果指定num,则分割成n+1个子字符串,并可将每个字符串赋给新的变量
line.strip().split(’,’)
strip()表示删除掉数据中的换行符,split(‘,’)则是数据中遇到‘,’ 就隔开。
str[0].split(".") #str[0]取出第一个字符串,然后利用split()函数,用分隔符"."将字符串变为列表。
str[0].split(",")#用分隔符","将字符串变为列表。
str[0].split(" ") #用分隔符" "(空格),将字符串变为列表。
split的默认参数是空格,这个函数实在字符串中寻找你给出的delimiter,并以这个delimiter为分割点,将字符串分割为列表的元素。如果你想将这个a中的每一个元素变成列表中的每一个元素的话可以使用列表的解析[x for x in a],或者是先定义一个空列表,然后在一个一个的添加,就像楼上的一样,像一楼一样使用内建的list工厂函数将字符串转换成列表也是可以的。
python strip() 函数和 split() 函数的详解及实例
一直以来都分不清楚strip和split的功能,实际上strip是删除的意思;而split则是分割的意思。因此也表示了这两个功能是完全不一样的,strip可以删除字符串的某些字符,而split则是根据规定的字符将字符串进行分割。下面就详细说一下这两个功能,
1 Python strip()函数 介绍
函数原型
声明:s为字符串,rm为要删除的字符序列
s.strip(rm) 删除s字符串中开头、结尾处,位于 rm删除序列的字符
s.lstrip(rm) 删除s字符串中开头处,位于 rm删除序列的字符
s.rstrip(rm) 删除s字符串中结尾处,位于 rm删除序列的字符
注意:
(1)当rm为空时,默认删除空白符(包括'\n', '\r', '\t', ' ')
(2)这里的rm删除序列是只要边(开头或结尾)上的字符在删除序列内,就删除掉。
例如,
a = ' 123'
a
' 123'
a.strip()
'123'
(2)这里的rm删除序列是只要边(开头或结尾)上的字符在删除序列内,就删除掉。
例如,
a = '123abc'
a.strip('21')
'3abc'
a.strip('12')
'3abc'
结果是一样的。
2 python split()函数 介绍
说明:
Python中没有字符类型的说法,只有字符串,这里所说的字符就是只包含一个字符的字符串!!!
这里这样写的原因只是为了方便理解,仅此而已。
(1)按某一个字符分割,如‘.'
str = ('')
print str
str_split = str.split('.')
print str_split
['www', 'google', 'com']
(2)按某一个字符分割,且分割n次。如按‘.'分割1次
str_split = str.split('.',1)
print str_split
['www', 'google.com']
(3)split()函数后面还可以加正则表达式,例如:
str_split = str.split('.')[0]
print str_split
www
split分隔后是一个列表,[0]表示取其第一个元素;
str_split = str.split('.')[::-1]
print str_split
['com', 'google', 'www']
str_split = str.split('.')[::]
print str_split
['www', 'google', 'com']
按反序列排列,[::]安正序排列
str = str + '.com.cn'
str
''
str_split = str.split('.')[::-1]
print str_split
['cn', 'com', 'com', 'google', 'www']
str_split = str.split('.')[:-1]
print str_split
['www', 'google', 'com', 'com']
从首个元素开始到次末尾,最后一个元素删除掉。
split()函数典型应用之一,ip数字互换:
# ip == 数字
ip2num = lambda x:sum([256**j*int(i) for j,i in enumerate(x.split('.')[::-1])])
ip2num('192.168.0.1')
3232235521
# 数字 == ip # 数字范围[0, 255^4]
num2ip = lambda x: '.'.join([str(x/(256**i)%256) for i in range(3,-1,-1)])
num2ip(3232235521)
'192.168.0.1'
最后,python怎样将一个整数与IP地址相互转换?
import socket
import struct
int_ip = 123456789
socket.inet_ntoa(struct.pack(‘I',socket.htonl(int_ip)))#整数转换为ip地址
‘7.91.205.21'
str(socket.ntohl(struct.unpack(“I”,socket.inet_aton(“255.255.255.255″))[0]))#ip地址转换为整数
‘4294967295'
import re
aa = 'asdf21232465'
b=re.findall(r'.{2}',aa)
print b
# or
print [aa[i:i+2] for i in xrange(0,len(aa),2)]