如何在python中使用strip()

时间:2015-10-08 05:20:34

标签: python list python-3.x strip

我有一个文本文件'a 2hello 3fox 2hen 1dog',其中包含strip 我想读取该文件,然后将所有项目添加到列表中,然后'a hello fox hen dog'整数,这样它将导致列表看起来像这样['a 2hello 3foz 2hen 1dog']

我尝试了这个,但我的代码无效。结果是newList = [] filename = input("Enter a file to read: ") openfile = open(filename,'r') for word in openfile: newList.append(word) for item in newList: item.strip("1") item.strip("2") item.strip("3") print(newList) openfile.close() 。谢谢

SELECT * FROM my_table  WHERE my_column LIKE '%\%%' ESCAPE '\';

5 个答案:

答案 0 :(得分:4)

来自python Doc

  

str.strip([chars])
返回带有前导和的字符串的副本   尾随字符已删除。 chars参数是一个字符串指定   要删除的字符集。如果省略或无,则为chars   参数默认为删除空格。 chars论证不是   字首或字尾;相反,它的所有值组合都被剥离了:

Strip不会修改字符串,在删除提到的字符后返回字符串的副本。

>>> text = '132abcd13232111'
>>> text.strip('123')
'abcd'
>>> text
'132abcd13232111'

您可以尝试:

out_put = []
for item in newList:
    out_put.append(item.strip("123"))

如果您要删除所有123,请使用正则表达式re.sub

import re
newList = [re.sub('[123]', '', word) for word in openfile]

注意:这会从每行中删除所有123

答案 1 :(得分:3)

指针:

  • strip会返回 new 字符串,因此您需要将其分配给某些内容。 (更好的是,只使用列表理解)
  • 对文件对象进行迭代会为您提供,而不是单词;
  • 所以你可以read然后split在空格上with
  • close语句使您无需手动调用strip
  • filename = input("Enter a file to read: ") with open(filename, 'r') as openfile: new_list = [word.strip('123') for word in openfile.read().split()] print(new_list) 接受多个字符,因此您无需再拨打三次。

代码:

['a', 'hello', 'fox', 'hen', 'dog']

这将为您提供一个类似于' '.join(new_list)的列表 如果要将其重新转换为字符串,可以使用#include <thread> #include <atomic> #include <cassert> #include <string> std::atomic<int> global; void producer() { global.store(10, std::memory_order_release); } void consumer1() { int a = global.load(std::memory_order_acquire); printf("a in consumer1 %d\n", a); } void consumer2() { int a = global.load(std::memory_order_acquire); printf("a in consumer2 %d\n", a); } int main() { global.store(-1, std::memory_order_seq_cst); std::thread t1(producer); std::thread t2(consumer1); std::thread t3(consumer2); t1.join(); t2.join(); t3.join(); }

答案 2 :(得分:2)

python中有几种类型的条带,基本上它们在每一行中都删除了一些指定的char。在您的情况下,您可以使用lstripstrip

s = 'a 2hello 3fox 2hen 1dog'
' '.join([word.strip('0123456789') for word in s.split()])

输出:

'a hello fox hen dog'

答案 3 :(得分:2)

以这种方式调用Python中的函数:

function

这会使用参数调用result并将结果存储在public static Node readTree(Scanner in) { Queue<Node> queue = new LinkedList<Node>(); Node root = new Node(1); queue.add(root); while (!queue.isEmpty()) { Node node = queue.poll(); int left = in.nextInt(); int right = in.nextInt(); if (-1 != left) { node.left = new Node(left); queue.add(node.left); } if (-1 != right) { node.right = new Node(right); queue.add(node.right); } } return root; } public static void main(String[] args) { Scanner in = new Scanner(System.in); in.nextInt(); // number of nodes is not used. Node result = readTree(in); }

如果您丢弃函数调用结果,就会丢失它。

答案 4 :(得分:0)

另一种使用方式是:

l=[]
for x in range(5):  
   l.append("something")
l.strip()

这将删除所有空格