小编Joh*_*ooy的帖子

如何按内部列表的特定索引对列表列表进行排序?

我有一份清单清单.例如,

[
[0,1,'f'],
[4,2,'t'],
[9,4,'afsd']
]
Run Code Online (Sandbox Code Playgroud)

如果我想通过内部列表的字符串字段对外部列表进行排序,那么如何在python中执行此操作?

python sorting

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

Code Golf - πday

挑战

SO上的代码 - 高尔夫指南

由字符最短代码计数显示半径的圆的表示R使用*字符,接着π的近似值.

输入是一个数字,R.

由于大多数计算机似乎具有几乎2:1的比率,因此您应该只输出y奇数的行.这意味着当R奇数时你应该打印R-1线条.有一个新的测试用例R=13需要澄清.

例如.

Input
    5
Output      Correct                          Incorrect

        3    *******                    4      *******
        1   *********                   2     *********
       -1   *********                   0    ***********
       -3    *******                   -2     *********
           2.56                        -4      *******
                                            3.44
Run Code Online (Sandbox Code Playgroud)

编辑:由于奇数值引起的广泛混淆R,任何通过下面给出的4个测试用例的解决方案都将被接受

π的近似值是将*字符数除以两倍得到的.
近似值应至少为6位有效数字.
前导或尾随零是允许的,因此,例如任何的3,3.000000,003被接受为输入24.

代码计数包括输入/​​输出(即完整程序).

测试用例

Input
    2
Output
     *** 
     *** 
    3.0

Input
    4
Output
      ***** …
Run Code Online (Sandbox Code Playgroud)

language-agnostic code-golf rosetta-stone

95
推荐指数
16
解决办法
8437
查看次数

如何使用python和sqlite3创建一个新的数据库(名为xx.db)

import sqlite3

conn = sqlite3.connect(r"D:\aaa.db")
Run Code Online (Sandbox Code Playgroud)

有没有办法自动创建db文件,如果它连接到它时它不存在?

谢谢

python sqlite

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

Python的任何/所有显式的短路行为是什么?

这里的讨论提示

文档建议为的行为的一些等价代码allany

是否应将等效代码的行为视为定义的一部分,或者实现是否可以以非短路方式实现它们?

以下是cpython/Lib/test/test_builtin.py的相关摘录

def test_all(self):
    self.assertEqual(all([2, 4, 6]), True)
    self.assertEqual(all([2, None, 6]), False)
    self.assertRaises(RuntimeError, all, [2, TestFailingBool(), 6])
    self.assertRaises(RuntimeError, all, TestFailingIter())
    self.assertRaises(TypeError, all, 10)               # Non-iterable
    self.assertRaises(TypeError, all)                   # No args
    self.assertRaises(TypeError, all, [2, 4, 6], [])    # Too many args
    self.assertEqual(all([]), True)                     # Empty iterator
    S = [50, 60]
    self.assertEqual(all(x > 42 for x in S), True)
    S = [50, 40, 60]
    self.assertEqual(all(x > 42 for x in S), False)

def test_any(self): …
Run Code Online (Sandbox Code Playgroud)

python short-circuiting language-specifications

36
推荐指数
3
解决办法
4867
查看次数

在Python中加速将字符串配对到对象中

我正在尝试找到一种有效的方法,将包含整数点的数据行组合在一起,并将它们存储为Python对象.该数据是由XY坐标点,表示为逗号分隔的字符串.这些点必须配对,如(x_1, y_1), (x_2, y_2), ...等,然后存储为对象列表,其中每个点都是一个对象.下面的函数get_data生成此示例数据:

def get_data(N=100000, M=10):
    import random
    data = []
    for n in range(N):
        pair = [[str(random.randint(1, 10)) for x in range(M)],
                [str(random.randint(1, 10)) for x in range(M)]]
        row = [",".join(pair[0]),
               ",".join(pair[1])]
        data.append(row)
    return data
Run Code Online (Sandbox Code Playgroud)

我现在的解析代码是:

class Point:
    def __init__(self, a, b):
        self.a = a
        self.b = b

def test():
    import time
    data = get_data()
    all_point_sets = []
    time_start = time.time()
    for row in data:
        point_set = []
        first_points, …
Run Code Online (Sandbox Code Playgroud)

python algorithm optimization performance cython

33
推荐指数
7
解决办法
1714
查看次数

如何在生成器中使用python上下文管理器

在python中,是否应该在生成器中使用with语句?要清楚,我不是要求使用装饰器从生成器函数创建上下文管理器.我在询问是否存在使用with语句作为生成器内部的上下文管理器的固有问题,因为它至少在某些情况下会捕获StopIterationGeneratorExit异常.以下是两个例子.

Beazley的例子(第106页)提出了这个问题的一个很好的例子.我已将其修改为使用with语句,以便在opener方法中的yield之后显式关闭文件.我还添加了两种方法,可以在迭代结果时抛出异常.

import os
import fnmatch

def find_files(topdir, pattern):
    for path, dirname, filelist in os.walk(topdir):
        for name in filelist:
            if fnmatch.fnmatch(name, pattern):
                yield os.path.join(path,name)
def opener(filenames):
    f = None
    for name in filenames:
        print "F before open: '%s'" % f
        #f = open(name,'r')
        with open(name,'r') as f:
            print "Fname: %s, F#: %d" % (name, f.fileno())
            yield f
            print "F after yield: '%s'" % f
def cat(filelist):
    for i,f in enumerate(filelist):
        if i ==20:
            # Cause and …
Run Code Online (Sandbox Code Playgroud)

python generator with-statement

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

绝对值之和的最小值

问题陈述:

有3个阵列A,B,C都填充正整数,并且所有三个阵列都具有相同的大小.

求min(| ab | + | bc | + | ca |)其中a在A中,b在B中,c在C中.


我整个周末都在研究这个问题.一位朋友告诉我,它可以在线性时间内完成.我不明白这是怎么可能的.

你会怎么做?

algorithm math sum

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

为不同的客户定制iphone应用程序

我有一个需要为不同客户编译的现有应用程序

每个客户端都需要自己的图标和启动画面.
我还希望能够有条件地包括各种功能,具体取决于特定客户端是否需要它们.

我已经尝试为每个客户设置不同的目标,但到目前为止没有太多运气.
具有相同名称的不同资源,但不同的路径不断混淆.

理想情况下,我希望能够通过复制另一个类似的客户端来构建应用程序,然后只需进行最小数量的更改即可为新客户端创建应用程序.

设置此应用程序的最佳方法是什么?

iphone xcode4

12
推荐指数
2
解决办法
1460
查看次数

按x排序,然后按y排序

我想对此信息(名称,点和时间)进行排序:

list = [
    {'name':'JOHN', 'points' : 30, 'time' : '0:02:2'},
    {'name':'KARL','points':50,'time': '0:03:00'}
]
Run Code Online (Sandbox Code Playgroud)

所以,我想要的是首先按照分数排序的列表,然后按时间排序(在我的例子中,因为他的时间较少,所以首先是亚马.有任何帮助吗?

我正在尝试这个:

import operator
list.sort(key=operator.itemgetter('points', 'time'))
Run Code Online (Sandbox Code Playgroud)

但得到了一个TypeError: list indices must be integers, not str.

python sorting list

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

Python中的麦克风访问

我可以在Python中访问用户麦克风吗?

对不起,我忘记了不是每个人都是心灵读者:Windows最低XP但Vista支持非常好.

python windows microphone

10
推荐指数
2
解决办法
9605
查看次数