从外部函数访问列表

2024-01-13

我有一个在其中创建的列表function1。我希望能够访问和修改它function2。如果没有全局变量,我该如何做到这一点?

这两个函数都不嵌套在另一个函数中,我需要能够将其推广到多个函数中的多个列表。

我希望能够访问word_list and sentence_starter在其他功能中。

def Markov_begin(text):
    print create_word_lists(text)
    print pick_starting_point(word_list)
    return starting_list


def create_word_lists(filename):
   prefix_dict = {}    
   word_list = []
   sub_list = []
   word = ''

   fin = open(filename)
   for line in fin:
      the_line = line.strip()
      for i in line:
           if i not in punctuation:
               word+=(i)
           if i in punctuation:
               sub_list.append(word)
               word_list.append(sub_list)
               sub_list = []
               word = ''
      sub_list.append(word)
      word_list.append(sub_list)
   print 1
   return word_list

def pick_starting_point(word_list):
    sentence_starter = ['.','!','?']
    starting_list = []
    n = 0
    for n in range(len(word_list)-1):
        for i in word_list[n]:
            for a in i:
                if a in sentence_starter:
                    starting_list += word_list[n+1]
    print 2                
    return starting_list



def create_prefix_dict(word_list,prefix_length):
    while prefix > 0:
        n = 0
        while n < (len(word_list)-prefix):
            key = str(''.join(word_list[n]))
            if key in prefix_dict:
                prefix_dict[key] += word_list[n+prefix]
            else:
                prefix_dict[key] = word_list[n+prefix]
           n+=1
       key = ''
       prefix -=1

print Markov_begin('Reacher.txt')

您应该将其重构为一个类:

class MyWords(object):
  def __init__(self):
    self.word_list = ... #code to create word list

  def pick_starting_point(self):
    # do something with self.word_list
    return ...

Usage

words = MyWords()
words.pick_starting_point()
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从外部函数访问列表 的相关文章

  • 使用ideone时如何传入命令行参数?

    我正在使用 ideone 在线解释器 http ideone com http ideone com 来测试一些 C 和 Python 程序 如何指定命令行参数而不是使用 STDIN 输入 看起来你不能 但是快速破解应该做的伎俩 stati
  • 我可以在 matplotlib 中的绘图左侧放置一个垂直颜色条吗?

    来自颜色条方法的 matplotlib 命令摘要 http matplotlib org api pyplot api html highlight colorbar matplotlib pyplot colorbar我知道关键字参数or
  • 如何在Python + Selenium中获取元素的值

    我在我的 Python 3 6 3 代码中得到了这个 HTML 元素 作为 Selenium网页元素当然 span class ocenaCzastkowa masterTooltip style color 000000 alt 5 sp
  • 在Python中将大文件(25k条目)加载到dict中很慢?

    我有一个大约有 25000 行的文件 它是 s19 格式的文件 每行就像 S214780010 00802000000010000000000A508CC78C 像这样的事情怎么样 我做了一个测试文件 只有一行S21478001000802
  • 我可以同时打开两个 Tkinter Windows 吗?

    可以同时打开2个窗口吗 import tkinter as Tk import random import math root Tk Tk canvas Tk Canvas root background image Tk PhotoIma
  • 对法语文本进行词形还原[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一些法语文本需要以某种方式进行处理 为此 我需要 首先 将文本标记为单词 然后对这些单词进行词形还原以避免多次处理相同的词根 据我
  • 使用具有可变数量索引的 numpy mggrid

    如何将 numpy mgrid 与可变数量的索引一起使用 我在 github 上找不到任何人将其与硬编码值以外的任何内容一起使用的示例 import numpy as np np mgrid 1 10 1 10 this works fin
  • “KMeans”对象没有属性“k”

    我使用 Yellowbrick 包绘制数据集的肘部曲线 以使用 KMeans 作为模型找到数据集的最佳簇数 我正在使用 Scikit learn KMeans 和 Yellowbrick kelbowvisualizer 函数 生成了肘部曲
  • 在python中使用编解码器utf-8打开文件错误

    我在 windows xp 和 python 2 6 4 上执行以下代码 但它显示 IOError 如何打开名称带有 utf 8 编解码器的文件 gt gt gt open unicode txt euc kr encode utf 8 T
  • Django 1.7:如何使用 html/css 文件作为模板发送电子邮件

    从 Django 1 7 开始 可以send email 使用新参数 html message 不幸的是 没有关于如何使用它的全面指南 新手友好 或者至少我找不到它 我需要使发送的电子邮件变得漂亮 因此 我试图弄清楚如何将我的消息包含到 h
  • Python GTK3 Treeview 向上或向下移动选择

    如何在树视图中向上或向下移动所选内容 我的想法是 我可以使用向上和向下按钮将选择向上移动一行或向下移动一行 我的 Treeview 使用 ListStore 不确定这是否重要 首先 我将使用我熟悉的 C 代码 如果您在将其翻译为 Pytho
  • 将 str.contains 映射到 pandas DataFrame

    python 初学者 我正在寻找创建字符串的字典映射以及关联的值 我有一个数据框 想要创建一个新列 如果字符串匹配 则会将该列标记为 x df pd DataFrame comp dell notebook dell notebook S3
  • 列表中的特定范围(python)

    我有一个从文本字符串中提取的整数列表 因此当我打印该列表 我称之为test I get 135 2256 1984 3985 1991 1023 1999 我想打印或制作一个仅包含特定范围内的数字的新列表 例如1000 2000之间 我尝试
  • 在 4K 屏幕上使用 Matplotlib 和 TKAgg 或 Qt5Agg 后端

    我在 Ubuntu 16 04 上使用 Matplotlib 2 0 和 Python 3 6 来创建数据图 电脑显示器的分辨率为 4k 分辨率为 3840x2160 绘图数字看起来非常小 字体也很小 我已经尝试过TKAgg and Qt5
  • python 中的 F 字符串前缀给出语法错误[重复]

    这个问题在这里已经有答案了 我有一个名为 method 的变量 它的值是 POST 但是当我尝试运行时print f method method is used 它不断在最后一个双引号处给出语法错误 我找不到它这样做的原因 我正在使用 py
  • 如何将Python包从旧版本安装到新版本?

    我正在使用 python 3 7 最近在 Linux 中安装了 python 3 8 是否有任何 bash 命令或脚本可以获取 3 7 的所有软件包列表并在 3 8 版本中一一安装 我想避免每个包裹都手工完成 注意 我将它们安装在我的系统中
  • 带 Qt 的菜单栏/系统托盘应用程序

    我是 Qt PyQt 的新手 我正在尝试制作一个应用程序 其功能将从菜单栏 系统托盘执行 这里展示了一个完美的例子 我找不到关于如何做到这一点的好资源 有人可以建议吗 Thanks 我认为您正在寻找与QMenu and QMainWindo
  • 在自定义 keras 层的调用函数中传递附加参数

    我创建了一个自定义 keras 层 目的是在推理过程中手动更改前一层的激活 以下是基本层 它只是将激活值乘以一个数字 import numpy as np from keras import backend as K from keras
  • 如何仅读取 CSV 文件每行的第一列 [重复]

    这个问题在这里已经有答案了 如何在Python中读取CSV文件每行的第一列 我的数据是这样的 1 abc 2 bcd 3 cde 我只需要循环第一列的值 另外 当我在 calc 中打开 csv 文件时 每行中的数据都在同一个单元格中 这正常
  • 将函数按元素应用于两个 DataFrame

    如何应用函数z ij f x ij y ij 来自数据框X and Y相同大小并将结果保存到 DataFrameZ 这取决于你有什么样的功能 很多功能已经被矢量化为数据框 例如 等等 所以对于这些功能 你可以简单地做Z X Y or Z X

随机推荐

  • 如何获取JQuery中复选框的值?

    我正在使用 JQuery 来发布表单 我无法从该字段获取正确的值
  • Keras 序列模型的多个嵌入层

    我正在使用 Keras 张量流后端 并且想知道如何将多个嵌入层添加到 Keras 顺序模型中 更具体地说 我的数据集中有几列具有分类值 我考虑过使用 one hot 编码 但确定分类项的数量有数百个 导致一组大且过于稀疏的列 在寻找解决方案
  • 如何在Redis中进行搜索?

    在 MySQL 中我有一个表名为 cities其中包括 2 列 name and population 然后我得到搜索结果 SELECT FROM cities WHERE name LIKE Bu ORDER by population
  • com.parse.ParseException:java.lang.IllegalStateException:尝试查找不存在的uuid

    我在我的应用程序中使用 parse android SDK 这是我的登录活动 public class LoginActivity extends Activity EditText username password Button log
  • OpenCV - 去除图像中的噪声

    我这里有一张带有表格的图像 在右侧的列中 背景充满了噪音 如何检测有噪声的区域 我只想在有噪音的部分应用某种过滤器 因为我需要对其进行 OCR 任何类型的过滤器都会降低整体识别率 什么样的滤波器最能去除图像中的背景噪声 正如我所说 我需要对
  • 如何取消 RXJS Effects 中发出的角度 http 请求

    我想取消 Angular 8 中 RXJS 效果中发出的 http 请求 Effect getReport this action pipe ofType ActionTypes GET WIDGET map toPayload merge
  • 在访问者模式中使用accept()

    我正在考虑使用访客模式 我看到的一些示例建议在每个 Element 子类中使用 Accept Visitor 函数 该函数的想法只是为了让访问者可以访问包含多态类型的集合吗 在这段代码中 我使用访问者进行两种类型的累加 并且不需要accep
  • java的内存分配

    问题 我已设置 Xms512m 和 Xmx1024m 来运行应用程序 实习生使用 C 本机层执行其他操作 运行应用程序时出现 OutOfMemory 异常 我需要知道 C 使用哪个内存 即来自分配的内存 Xms512m 和 Xmx1024m
  • PHPUnit 分段错误 11

    我今天早上尝试运行 PHPUnit 它产生了 Segmentation Failure 11 错误 使用命令phpunit unit 如果我使用 Selenium 在功能测试中运行 PHPUnit 那么一切都会正常 只有单元测试受到影响 我
  • Android自定义EditText(货币格式)

    我有自定义的 EditText 它可以转换输入 也可以反转它 但是 它始终会使输入成为十进制 并在输入后面带有 1 或 2 个值 现在我正在制作一些计算应用程序 它需要整数 如何使这个自定义 EditText 仅接受整数输入和输出 代码 T
  • C++:IF 语句退出时出现段错误

    这次我将连同所有代码一起重新发布 我希望至少在一段时间内不关闭该帖子 我显然不是专家 以前从未遇到过类似的事情 但我确实认为这对其他成员很有用 我尝试了评论并同意错误与破坏有关 但找不到位置 我已在底部的评论中包含了段错误的位置 我没有 I
  • flutter:设置SnackbarAction标签的字体

    有没有办法在 flutter 中设置 SnackBarAction 的字体 好像用的是系统默认字体 SnackBarAction label my text how to sent font onPressed 您可以在 ThemeData
  • Angular JS 1.3.11:参数“MyController”不是函数

    我是角度新手 我有一个问题 我使用 1 3 11 版本的 Angular 我写了一个简单的 html 代码 使用简单的角度 但出现以下错误 参数 MyController 不是一个函数 在 AngularJS 中未定义 重复 html代码是
  • 使用jquery上传文件

    我想用ajax上传文件 这是我的代码 php html
  • 删除 ARC 后 Cocoa 中的观察员

    到目前为止 我一直在dealloc 中删除观察者 通知或KVO 既然 ARC 中不再有 dealloc 那么推荐的方法是什么 dealloc 不会在 ARC 下消失 ivar 释放和超级调用方面是自动处理的 如果这就是您要做的全部 则允许您
  • 如何使用 vue-gtag 让 Google Analytics GA4 识别我的 nuxt 网站?

    我有一个Nuxt js https nuxtjs org 我想用 Google Analytics 跟踪的网络客户端 我正在使用vue gtag https github com MatteoGabriele vue gtag像这样 plu
  • 在 Angular 中延迟加载图像的最简单方法是什么

    我有一个应用程序 允许通过键盘的右 左箭头键对大型文本数据集进行分页 显示的数据还包含图像 我想在用户快速分页数据时延迟这些图像的加载 1 2 秒 一旦用户停止在某个页面 所有图像都应该 延迟 加载 我尝试将此小提琴适应我的应用程序 但没有
  • C++ 在函数中仅使用一个默认参数

    我如何只使用第三个参数 第一个和第二个参数必须是默认值 像这样 double func const double a 5 const double b 6 const double c 7 int main cout lt lt A lt
  • EF 4.1 + MVC + JSON 循环引用异常的最佳解决方案?

    我使用 EF 4 1 Database First 方法 使用 T4 模板在单独的程序集中生成 POCO 类 我有用于获取数据的存储库 以及用于与 UI 通信的服务层 我试图制作级联下拉菜单 我是 MVC 和 EF 4 1 的新手 因此我在
  • 从外部函数访问列表

    我有一个在其中创建的列表function1 我希望能够访问和修改它function2 如果没有全局变量 我该如何做到这一点 这两个函数都不嵌套在另一个函数中 我需要能够将其推广到多个函数中的多个列表 我希望能够访问word list and