gpt4 book ai didi

python - Python split() 函数是如何工作的

转载 作者:行者123 更新时间:2023-11-28 19:53:59 25 4
gpt4 key购买 nike

def loadTest(filename): 
f=open(filename,'r')
k=0
line=f.readline()
labels=[]
vectors=[]
while line and k<4:
k=k+1
l=line[:-1].split(r'","')
s=float(l[0][1:])
tweet=l[5][:-1]
print(l)
line=f.readline()
f.close()
return

split(r'","') 在 python split 方法中实际上做了什么?

最佳答案

原始字符串与 Python 字符串

r'","'

r 用于表明它是一个原始字符串

原始字符串与常规 python 字符串有何不同?

特殊字符会失去它们在原始字符串中的特殊含义。例如,\n 是 python 字符串中的换行符,它将在原始字符串中失去其意义,而仅表示反斜杠后跟 n。

string.split()

string.split() 将根据传递的参数打断和拆分 string 并返回列表中的所有部分。该列表将不包括拆分字符。

string.split('","') 将在每个 "," 上打断和拆分字符串并返回所有打断的列表中不包括 ","

的部分

例如:

print 'Hello world","there you are'.split(r'","')

输出:

['Hello world', 'there you are']



split() 可以做更多...

您可以通过传入一个额外的参数来指定您希望字符串分成多少部分。

让我们考虑这个字符串:'hello,world,there,you,are'

  1. 拆分所有逗号并分成 n+1 个部分,其中 n 是逗号的数量:
>>>print 'hello,world,there,you,are'.split(',')
['hello', 'world', 'there', 'you', 'are']
  1. 在第一个逗号处拆分,只分成两部分。
>>>'hello,world,there,you,are'.split(',',1)  
['hello', 'world,there,you,are']
  1. 在第一个和第二个逗号处拆分并分成 3 个部分。等等……
>>>'hello,world,there,you,are'.split(',',2)
['hello', 'world', 'there,you,are']

还有更多...

来自文档:

If splitting character(s) i.e separator is not specified or is None, a different splitting algorithm is applied: runs of consecutive whitespace are regarded as a single separator, and the result will contain no empty strings at the start or end if the string has leading or trailing whitespace. Consequently, splitting an empty string or a string consisting of just whitespace with a None separator returns [].

例如,

>>>' 1  2   3  '.split()
['1', '2', '3']

>>>' 1 2 3 '.split(None, 1)
['1', '2 3 ']

>>>''.split()
[]

>>>' '.split()
[]


>>>' '.split(None)
[]

甚至...



.

.

.

什么?

还不够吗?不要那么贪心:P。只是问问自己?,它会让你变得不贪心 :D(如果你知道正则表达式,你就会明白这个笑话)

关于python - Python split() 函数是如何工作的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40955656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com