当前位置: 首页 > 知识库问答 >
问题:

拆分列表中的元素和单独的字符串,然后计算长度

束敏学
2023-03-14

如果我有几行代码

"Jane, I don't like cavillers or questioners; besides, there is something truly forbidding in a child taking up her elders in that manner.
Be seated somewhere; and until you can speak pleasantly, remain silent."  
I mounted into the window- seat: gathering up my feet, I sat cross-legged, like a Turk; and, having drawn the red moreen curtain nearly close, I was shrined in double retirement.

我想把每行的“字符串”或句子按“;”标点符号,我会的

for line in open("jane_eyre_sentences.txt"):
  words = line.strip("\n")
  words_split = words.split(";")

然而,现在我会得到一系列文本,

["Jane, I don't like cavillers or questioners', 'besides, there is something truly forbidding in a child taking up her elders in that manner.']
[Be seated somewhere', 'and until you can speak pleasantly, remain silent."']  
['I mounted into the window- seat: gathering up my feet, I sat cross-legged, like a Turk', 'and, having drawn the red moreen curtain nearly close, I was shrined in double retirement.']

因此,它现在在这个列表中创建了两个独立的元素。

我该如何区分这个列表。

我知道我需要一个“for”循环,因为它需要处理所有的行。我需要使用另一个“split”方法,但是我尝试了“\n”和“,”,但它不会生成答案,python的东西说“AttributeError:'list'对象没有属性“split”。这意味着什么?

一旦我分离成单独的字符串,我想计算每个字符串的长度,所以我会做len()等。

共有1个答案

水麒
2023-03-14

您可以在创建的单词列表中进行迭代,如下所示:

for line in open("jane_eyre_sentences.txt"):
  words = line.strip("\n")
  for sentence_part in words.split(";"):
    print(sentence_part) # will print the elements of the list
    print(len(sentence_part) # will print the length of the sentence parts
for line in open("jane_eyre_sentences.txt"):
  words = line.strip("\n")
  sentence_part_lengths = [len(sentence_part) for sentence_part in words.split(";")]

编辑:从你的第二篇文章中获得更多信息。

for count, line in enumerate(open("jane_eyre_sentences.txt")):
  words = line.strip("\n")
  if ";" in words:
    wordssplit = words.split(";")
    number_of_words_per_split = [(x, len(x.split())) for x in wordsplit]
    print("Line {}: ".format(count), number_of_words_per_split)
 类似资料:
  • 我的问题涉及在文本中查找包含分号的句子,并查找分号前后的单词数。我知道如何用分号分割所有内容,但是我得到了两个字符串,但我似乎无法计算字符串中的单词? 文本看起来像: 到目前为止,我取得了以下成就: 我使用计数的原因是每次迭代后计数增加1,因此句子被标记。我已经去掉了句子末尾的段落,如果句子中包含分号,我也用分号将它们分开。 到目前为止,我只试着打印单词split,看看它能给我带来什么。

  • 问题内容: 我有一个字符串说: 如何在php中将其分为2个变量,分别为数字元素和字母元素? number元素的长度可以是1到4 say之间的任何长度,字母元素可以填充其余部分,使每个order_num总共10个字符。 我已经找到了php 函数…但是在我的情况下不知道如何制作它,因为数字的数量在1到4之间,并且之后的字母是随机的,因此无法拆分成一个特定的字母。请尽可能提供具体帮助! 问题答案: 您可

  • 编写一个程序,当给定一个代表地毯的字符串时,输出其价格。示例:abacx答案:20(长度5乘以4种不同类型) 以下是我到目前为止的情况。以下是测试案例3a)qiraat 3b)cdefghijklmnopqrstuwxyz 3c)warrior 3d)SupercalibragilisticExpialidious

  • 问题内容: 我将数据保存在postgreSQL数据库中。我正在使用Python2.7查询此数据并将其转换为Pandas DataFrame。但是,此数据框的最后一列中包含值的字典(或列表?)。DataFrame看起来像这样: 我需要将此列拆分为单独的列,以便DataFrame如下所示: 我遇到的主要问题是列表的长度不同。但是所有列表最多只能包含相同的3个值:a,b和c。而且它们始终以相同的顺序出现

  • 问题内容: 我正在逐行读取.csv文件。例如,一行可能如下所示:。 现在我想根据“,”进行拆分:现在的问题是,这仅导致2个元素,但我想拥有5个元素,前两个元素应包含10和1,其他3个元素应为空串。 另一个例子是只包含一个元素,但我希望有5个元素。 最后一个示例给出了2个元素(9和1),但我希望有5个元素。第一个元素应为9,第四个元素应为1,所有其他元素应为空String。 如何才能做到这一点? 问