Python2.7分裂混乱
我正在尝试编写一个函数,该函数将列表作为参数,并从输入列表的每个成员中删除新行“\n”字符 方法1:Python2.7分裂混乱,python,python-2.7,split,Python,Python 2.7,Split,我正在尝试编写一个函数,该函数将列表作为参数,并从输入列表的每个成员中删除新行“\n”字符 方法1: def remove_newline_list (lst): for i in (range(len(lst))): lst[i] = lst[i].split()[0] print lst 印刷品: ['orcl','orcl112'] 方法2: def remove_newline_list (lst): for i in (
def remove_newline_list (lst):
for i in (range(len(lst))):
lst[i] = lst[i].split()[0]
print lst
印刷品:
['orcl','orcl112']
方法2:
def remove_newline_list (lst):
for i in (range(len(lst))):
lst[i] = lst[i].split('\n')[0]
print lst
印刷品:
['o','r','c','l','o','r','c','l','1','1','2']
有人能解释一下如何使用第二种方法在“\n”处显式拆分文本吗
i、 e.我想明确指定“\n”字符作为分隔符,这样它就不会在其他空白处分裂,只需创建一个新列表:
lst = ['a\n', 'b', 'c\n']
new_lst = [item.rstrip() for item in lst]
或-使用映射
:
new_lst = list(map(str.rstrip, lst))
两者都会让步
['a', 'b', 'c']
这会奏效的
您可以遍历eanch元素并去除结束字符,在本例中为新行(\n
)并分配回该索引
lst = ['a\n', 'b', 'c\n']
for index, char in enumerate(lst):
lst[index] = char.strip('\n')
print(lst)
谢谢。但是你能解释一下为什么Python在方法2中的行为方式对我来说很好。你想分享你在第二种方法中传递给函数的输入吗?穆罕默德·乌斯曼·巴希尔,很抱歉回复晚了。该列表包含Oracle SID值,即orcl,orcl112@JK正如我前面提到的,第二个代码对我来说工作得很好。一定有什么问题。向函数发送输入时。您必须检查向函数传递输入的方式。非常感谢。但是,你能解释一下为什么Python在方法库中的行为如此频繁吗。但是你能解释一下为什么Python在方法2中的行为方式吗
def remove_newline_list (lst):
temp_list = []
for item in lst:
temp_list.append(item.strip('\n'))
return temp_list
mylist = [ 'jane\n' , 'doe\n' , 'richard\n' , 'stallman\n']
print(mylist)
print(remove_newline_list(mylist))
['jane\n', 'doe\n', 'richard\n', 'stallman\n']
['jane', 'doe', 'richard', 'stallman']