小编Gah*_*han的帖子

带/不带列表理解的python函数调用

我有以下两个功能:

def foo(n=50000):
    return sum(i*i for i in range(n))  # just called sum() directly without 

def bar(n=50000):
    return sum([i*i for i in range(n)])  # passed constructed list to sum()
Run Code Online (Sandbox Code Playgroud)

我希望那foo会跑得更快,bar但我已经检查了ipython,%%timeitfoo时间稍长bar

In [2]: %%timeit
   ...: foo(50000)
   ...: 
100 loops, best of 3: 4.22 ms per loop

In [3]: %%timeit
   ...: bar(50000)
   ...: 
100 loops, best of 3: 3.45 ms per loop
In [4]: %%timeit
   ...: foo(10000000)
   ...: 
1 loops, best of 3: …
Run Code Online (Sandbox Code Playgroud)

python python-3.x

12
推荐指数
1
解决办法
534
查看次数

如何使用re来查找连续的,重复的字符

我想在字符串中找到所有连续的,重复的字符块.例如,请考虑以下事项:

s = r'http://www.google.com/search=ooo-jjj'
Run Code Online (Sandbox Code Playgroud)

我想找到这个:www,ooojjj.

我试着这样做:

m = re.search(r'(\w)\1\1', s)
Run Code Online (Sandbox Code Playgroud)

但它似乎并没有像我期望的那样起作用.有任何想法吗?

另外,我怎么能在Bash中做到这一点?

python regex

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

使用Pycharm导入错误

编辑:问题是Pycharm没有加载LD_LIBRARY_PATH环境变量.如果我将它添加到Pychar的环境中,一切都有效.为什么不加载呢?

我在为gnuradio导入模块时遇到问题.首先,如果我只是从命令行运行python文件,一切都有效,并且所有内容在解释器中都可以正常加载.使用pycharm只有一个问题.此外,GNU Radio已正确安装.

PYTHONPATH=/usr/local/lib/python2.7/site-packages
Run Code Online (Sandbox Code Playgroud)

我添加了python解释器,并且由于模块从解释器加载得很好,我不知道为什么我必须添加pycharm的路径.无论如何,我添加了gnuradio模块所在的位置:/usr/local/lib/python2.7/site-packages/gnuradio; 但是,这是错误的.正确的加载路径是父目录:/usr/local/lib/python2.7/site-packages.我想知道为什么会这样.

更重要的是,加载库后我得到了这个编译错误:

File "/usr/local/lib/python2.7/site-packages/gnuradio/gr/runtime_swig.py", line 24, in swig_import_helper
    _mod = imp.load_module('_runtime_swig', fp, pathname, description)
ImportError: libgnuradio-pmt-3.7.2git.so.0.0.0: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

有问题的文件位于/usr/local/lib,但是我已经添加了所有可能的路径来告诉它它在哪里但没有运气.另外,我已添加/usr/lib:/usr/local/lib到我的LD_LIBRARY_PATH并运行ldconfig但没有成功.只有我能想到的东西.

我究竟做错了什么?

如果我不使用PyCharm,一切正常.这是一个关于Pycharm的问题.

python ide pycharm python-2.7

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

ModuleNotFoundError: 没有名为“请求”的模块。但是“请求”已经安装

试图导入'requests'.

它是通过pip3安装请求安装的吗?但是,仍然有这个错误。

C:\Users\Vikentiy>pip3 list
Package    Version
---------- ----------
certifi    2018.11.29
chardet    3.0.4
Django     2.1.7
idna       2.8
pip        19.0.2
pytz       2018.9
requests   2.21.0
setuptools 40.6.2
simplejson 3.16.0
urllib3    1.24.1
virtualenv 16.4.0

C:\Users\Vikentiy>python --version
Python 3.7.2
Run Code Online (Sandbox Code Playgroud)

错误追溯:

C:\Users\Vikentiy\untitled2\venv\Scripts\python.exe C:/Users/Vikentiy/untitled2/requeststests.py 
Traceback (most recent call last): 
File "C:/Users/Vikentiy/untitled2/requeststests.py", line 1, in <module> import requests`
Run Code Online (Sandbox Code Playgroud)

python-3.x python-requests

8
推荐指数
2
解决办法
6万
查看次数

在没有VBA的Excel中拆分字符串(单元格)(例如,对于数组公式)

我在带有分隔字符串的Excel电子表格中有数据.为简单起见,可以考虑"4#8#10"使用任意数量的东西.

有没有办法将其拆分为数组以与数组公式一起使用?例如,像SUM(SplitStr(A1,"#")).(这不起作用 - 它只是返回"4".)

有接近这个的好方法吗?我理想的解决方案最终会得到一个数组,就像用户输入{4,8,10}数组公式一样.

我的工作表的应用程序不允许将基于分隔符的文本添加到列并对其进行求和.如果可能的话,我宁愿不使用VBA,因为我不会成为工作表的主要消费者.

谢谢,特里

excel

7
推荐指数
2
解决办法
2万
查看次数

如何只清除python输出控制台中的最后一行?

我试图从输出控制台窗口中只清除最后几行。为了实现这一点,我决定使用创建秒表,我已经实现了在键盘中断和回车键按下时中断它创建圈,但我的代码只创建圈一次,我当前的代码正在清除整个输出屏幕。

清除.py

import os
import msvcrt, time
from datetime import datetime
from threading import Thread

def threaded_function(arg):
    while True:
        input()

lap_count = 0
if __name__ == "__main__":
    # thread = Thread(target = threaded_function)
    # thread.start()
    try:
        while True:
            t = "{}:{}:{}:{}".format(datetime.now().hour, datetime.now().minute, datetime.now().second, datetime.now().microsecond)
            print(t)
            time.sleep(0.2)
            os.system('cls||clear') # I want some way to clear only previous line instead of clearing whole console
            if lap_count == 0:
                if msvcrt.kbhit():
                    if msvcrt.getwche() == '\r': # this creates lap only once when I …
Run Code Online (Sandbox Code Playgroud)

python ipython python-3.x python-3.4

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

按年排序列表,然后按月排序

我有一个列表列表,看起来像这样:

dateList = [['2014', '4'], ['2015', '6'], ['2017', '6'], ['2016', '2'], ['2016', '3'], ['2017', '9'], ['2016', '6'], ['2017', '3'], ['2014', '8'], ['2014', '10'], ['2017', '10'], ['2014', '9'], ['2014', '3'], ['2015', '11'], ['2015', '2']]
Run Code Online (Sandbox Code Playgroud)

我一直试图按年份排序,然后按月计算.我已经成功地按年使用它进行分类

sortedList = sorted(dateList, key = lambda x: int(x[0]))
Run Code Online (Sandbox Code Playgroud)

但是,我无法想出一种方法可以在按月保持年份升序的同时按月分类.

python sorting list python-3.x

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

尝试除了chunksize迭代器

我想读一个大的csv文件,所以我使用chunksizepandas 的方法迭代器.但我得到了一个ParserError所以我想使用try除了当我得到这个错误时我想传递到下一个块迭代.所以我测试了:

df = pd.read_csv("file.csv",iterator=True)
d=True
while d==True : 
    try:
        df.get_chunk(500000)
    exept ParserError : 
         pass
    except StopIteration:
         d=False
Run Code Online (Sandbox Code Playgroud)

但是我得到了这个错误:

NameError : name "ParserError" is not defined .

谢谢您的帮助 !!

python chunks pandas try-except

2
推荐指数
1
解决办法
296
查看次数

如何重定向?映射?Django 中的网址

我有民意调查应用程序

以下是我的根网址

urlpatterns = [
    path('poll/', include('myproject.poll.urls')),
]
Run Code Online (Sandbox Code Playgroud)

我有应用程序网址

router = DefaultRouter()
router.register(r'', PollViewSet)

urlpatterns = [
    path('', include(router.urls))
]
Run Code Online (Sandbox Code Playgroud)

我使用 ViewSet 所以我可以使用reverse('poll-list')reverse('poll-detail')...

我可以访问xxx.xxx.xxx.xxx/poll并且xxx.xxx.xxx.xxx/poll/1/......

xxx.xxx.xxx.xxx/api/v1/poll/但我想在访问时重定向(映射?)网址xxx.xxx.xxx.xxx/poll

我不想更改现有的网址。

因为我想将多个应用程序的视图捆绑到一个 api url 文件中。

我怎样才能做到这一点?最好的方法是什么?

python django django-rest-framework

2
推荐指数
1
解决办法
808
查看次数

在for循环中处理alternate元素而不使用索引值

我有字典列表,为简单起见,我把它们写成字符串:

ls = ['element1', 'element2', 'element3', 'element4', 'element5', 'element6', 'element7', 'element8', 'element9', 'element10']
Run Code Online (Sandbox Code Playgroud)

我试图从列表中处理一对元素如下:

#m1. Step for loop by size two with if condition 
for x in ls:
    if ls.index(x)%2 == 0:
        # my code to be process
        print(x) # for simplicity I just printed element


#m2. tried another way like below:
for x in range(0, len(ls), 2):
    # this way give me output of alternate element from list
    print(ls[x])
Run Code Online (Sandbox Code Playgroud)

有没有办法在迭代列表项时m1只获取备用元素m2

python for-loop python-3.x

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

如何切换到路径而不是urlpatterns中的url [django]

django noobie。香港专业教育学院一直在通过教程,但在urlpatterns中,他们使用url而不是django 2.0中现在引入的路径我想使/ appname / anything-gabberish将用户带回到在/ appname /中给出的视图

urlpatterns = [
    path('', views.index, name='index'),
    path('contact/', views.contact, name='contact'),
]
Run Code Online (Sandbox Code Playgroud)

我想127.0.0.1:8000/contact/asaskhask转到views.contact有没有办法做到这一点而不使用url和正则表达式?

python django django-2.0

0
推荐指数
1
解决办法
3016
查看次数