小编Vin*_*ard的帖子

如何迭代c ++中的数字列表

我如何遍历数字列表,以及有多少不同的方法可以做到这一点?

我认为会起作用:

#include <cstdlib>
#include <iostream>
#include <list>


using namespace std;


int main()

{
    int numbers[] = {2, 4, 6, 8};
    int i = 0;
    for(i=0; i< numbers.size();i++)
            cout << "the current number is " << numbers[i];


    system("pause");

    return 0;

}
Run Code Online (Sandbox Code Playgroud)

我在for循环行上遇到错误:

请求部件'size''numbers',其是非类类型的'int[4]'

c++

5
推荐指数
3
解决办法
4万
查看次数

为什么list.append(x)比list + = l [x]更有效?

附加到列表可能有两种方式:

1)

mat = []
for i in range(10):
    mat.append(i)
Run Code Online (Sandbox Code Playgroud)

要么

2)

mat = []
for i in range(10):
    mat += [i]
Run Code Online (Sandbox Code Playgroud)

官方Python文档:

示例中显示的方法append()是为列表对象定义的; 它在列表的末尾添加了一个新元素.在此示例中,它等效于result = result + [a],但效率更高.

文档表明方法1更有效.为什么会这样?

python list

5
推荐指数
1
解决办法
295
查看次数

修改内置功能

让我们考虑任何用户定义的pythonic类.如果我打电话dir(obect_of_class),我会得到它的属性列表:

['__class__', '__delattr__', '__dict__', '__dir__', ... '__weakref__', 'bases', 
'build_full_name', 'candidates', ... 'update_name'].
Run Code Online (Sandbox Code Playgroud)

您可以在此列表中看到两种类型的属性:

  • 内置属性,
  • 用户自定义.

我需要覆盖__dir__它,它将只返回用户定义的attribltes.我怎么能这样做?

很明显,如果在重写函数中我自称,它会给我无限递归.所以,我想做这样的事情:

def __dir__(self):
        return list(filter(lambda x: not re.match('__\S*__', x), dir(self)))
Run Code Online (Sandbox Code Playgroud)

但逃避无限递归.

一般情况下,如果我不想从头开始编写但想要修改现有函数,如何修改内置函数?

python overriding built-in python-3.x

5
推荐指数
1
解决办法
177
查看次数

如何通过最大数量的重复事件对具有重复项的列表进行排序 - Python

我有一个

list1 = ["one", "two", "two", "three", "four" , "five", "five", "five", "six"]
Run Code Online (Sandbox Code Playgroud)

而输出应该是

list2 = ["five" , "two", "one", "three" , "six"]
Run Code Online (Sandbox Code Playgroud)
  • "five" 是第一个元素,因为在list1中出现的次数最多(3)
  • "two"是第二个元素,因为在list1中出现次数最多(2)
  • "one","three"并且"six"具有相同较低的出现次数(1),因此它们是我的最后一次list2- 只要它们在"五"和"两"之后,它们的位置并不重要.简而言之,list2 = ["five" , "two", "six", "three" , "one"]或者list2 = ["five" , "two", "three", "one" , "six"]或接受任何其他变化.

我可以通过创建一个字典来存储出现次数来解决这个问题,然后用dict命令我的项目创建一个新的列表

my_dict = {i:list1.count(i) for i in list1}
Run Code Online (Sandbox Code Playgroud)

但我需要更清洁的东西

python list python-3.x

5
推荐指数
1
解决办法
82
查看次数

如何构建可嵌入的 Python

我想知道如何为 Windows 构建可嵌入的 Python。找不到该特定包的任何信息或构建配置。

我问的原因是我可以为 Mac 和 Linux 使用相同的变体。

python embeddable python-3.x

5
推荐指数
1
解决办法
1016
查看次数

Python脚本在启动时执行时不写入文件

我正在尝试创建一个将写入文件的python循环脚本.

当我在终端中执行脚本时,文件写入没有问题.

我不希望这个脚本在启动时启动,所以我把它放在rc.local文件中.该脚本运行,但它没有将输出写入指定的文件.

我做了一些关于冲洗和非缓冲输出的阅读.有人可以帮助我或指出我正确的方向吗?

当这个脚本完成后,它将使用REST发送文件,但是在我到达那里之前我需要写文件.

剧本:

#!/usr/bin/python -u

while True:
    try:
        print "This is only a test..."
        with open("loop.txt", "a") as loopFile:
            loopFile.write("This is only a test...")
            loopFile.write('\n')
            loopFile.flush()
            loopFile.close()
        time.sleep(1)
    except KeyboardInterrupt:
        break
        quit()
Run Code Online (Sandbox Code Playgroud)

/etc/rc.local文件:

/usr/bin/python /home/pi/loop.py &
Run Code Online (Sandbox Code Playgroud)

loop.py和loop.txt都具有读/写/执行访问权限.

python loops

4
推荐指数
1
解决办法
762
查看次数

如何查找正则表达式是否包含非转义的元字符?

我有一个正则表列表,我想从中提取那些相当于字符串比较的正则表达式.

例如,那些正则表达式相当于一个简单的字符串比较:

[r"example",   # No metacharacters
 r"foo\.bar"]  # . is not a metacharacter because it is escaped
Run Code Online (Sandbox Code Playgroud)

而那些正则表达式不是:

[r"e.ample",   # . is a metacharacter
 r"foo\\.bar"] # . is a metacharacter because it is not escaped
Run Code Online (Sandbox Code Playgroud)

根据https://docs.python.org/2/howto/regex.html,有效元字符列表是. ^ $ * + ? { } [ ] \ | ( ).

我即将构建一个正则表达式,但它看起来有点复杂.我想通过检查re对象或其他东西是否有快捷方式.

python regex

4
推荐指数
1
解决办法
122
查看次数

如何将字典添加到PyEnchant?

我为PyEnchant提供了许多语言的文件:en_US, en_AU, de_DE, fr_FR.现在我调用字典列表,只看到小集:'en', 'en_US', 'en_GB', 'en_CA'.我打电话:

items = enchant._broker.list_languages()
Run Code Online (Sandbox Code Playgroud)

如何加载Enchant其他langs?新文件?所以enchant.Dict()可以接受它.

python spell-checking pyenchant

4
推荐指数
1
解决办法
5824
查看次数

为什么IPython.display.Image没有显示在输出中?

我有一个看起来像这样的单元格:

from IPython.display import Image
i = Image(filename='test.png')
i
print("test")
Run Code Online (Sandbox Code Playgroud)

输出只是:

test
Run Code Online (Sandbox Code Playgroud)

我没有在输出中看到图像.我检查了文件是否存在(无论如何,如果它不存在,你会收到错误).

有线索吗?

python ipython

3
推荐指数
1
解决办法
1万
查看次数

现代c ++中的独特指针

我在网上搜索了很多,并unique_ptr在现代c ++中找到了很多不同的实现示例.我已经开始更新我的所有代码开始::iterators进入auto等等.然而,有了智能指针我不认为我完全理解我想要做的事情.

使用标准指针,我有:

 object *temp = new object();
Run Code Online (Sandbox Code Playgroud)

然后使用新的智能指针我:

  unquie_ptr<object> temp(new object());
Run Code Online (Sandbox Code Playgroud)

这不是正确的实施方式吗?如果是这样的话,当我在程序结束时构建一个简单的清理函数时,似乎更多的输入/工作来制作智能指针?

c++ pointers

3
推荐指数
1
解决办法
403
查看次数