相关疑难解决方法(0)

Python函数参数*x,是什么意思?

我见过lambda函数,参数为*x.它是一种放入列表或元组的方式,如果它是一个元组,你如何将列表作为参数参数,反之亦然.

如果你能把我链接到一些文档,我将不胜感激.

有问题的lambda函数:

import os
add_to_place = lambda *x : os.path.abspath(os.path.join(os.path.dirname(__file__), *x))
Run Code Online (Sandbox Code Playgroud)

提前致谢.我推断它是一个元组,但我想要一些文档,只是为了确定.

python lambda variadic-functions

10
推荐指数
0
解决办法
2364
查看次数

除了乘法和取幂之外,星号在Python中的作用是什么?

在Peter Norvig用Python编写的Lisp解释器(http://norvig.com/lispy.html)中,他将Lisp定义eval如下:

def eval(x, env=global_env):
    "Evaluate an expression in an environment."
    if isa(x, Symbol):             # variable reference
        return env.find(x)[x]
    elif not isa(x, list):         # constant literal
        return x                
    elif x[0] == 'quote':          # (quote exp)
        (_, exp) = x
        return exp
    elif x[0] == 'if':             # (if test conseq alt)
        (_, test, conseq, alt) = x
        return eval((conseq if eval(test, env) else alt), env)
    elif x[0] == 'set!':           # (set! var exp)
        (_, var, exp) = …
Run Code Online (Sandbox Code Playgroud)

lisp python eval

5
推荐指数
2
解决办法
2275
查看次数

Python 3 打印函数中的星号。它是做什么用的?

非常快速的问题。我有一个打印函数,如下所示:

print(*Runner(x,y))
Run Code Online (Sandbox Code Playgroud)

*在这种情况下是为了什么?我不知道它在这种情况下会做什么。

python printing

5
推荐指数
0
解决办法
6690
查看次数

将元素列出时间格式并计算今天的时差

我正在使用python 3.6并且计算日期时遇到了一些问题.

我有一个由日期元素组成的列表,如下所示:

dates = [['2017','01','15'], ['2017','01','14'], ['2017','01','13'],...]
Run Code Online (Sandbox Code Playgroud)

我想按时间格式计算并计算今天的日期.

我该如何修复我的代码?

以下是我的代码:

dates = [['2017', '01', '15'], ['2017', '01', '14'], ['2017', '01', '13']]

for date in dates:
    date_cand = "-".join(date)
    date_cand_time = time.strptime(date_cand,"%Y-%m-%d")
    (datetime.date.today() - datetime.date(date_cand_time)).days
Run Code Online (Sandbox Code Playgroud)

我现在有这个错误消息:

TypeError: an integer is required (got type time.struct_time)
Run Code Online (Sandbox Code Playgroud)

我希望得到的结果是:

4
5
6
Run Code Online (Sandbox Code Playgroud)

请帮我解决这个问题.

html python format time datetime

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

如何从Python中的嵌套列表创建字典?

我希望可能有一些使用理解来做到这一点,但是说我的数据看起来像这样:

data = [['a', 'b', 'c'], [1, 2, 3], [4, 5, 6]]
Run Code Online (Sandbox Code Playgroud)

我的最终目标是创建一个字典,其中第一个嵌套列表包含键,其余列表包含值:

{'a': [1, 4], 'b': [2, 5], 'c': [3, 6]}
Run Code Online (Sandbox Code Playgroud)

我已经尝试了类似这样的东西让我接近,但是你可以告诉我在字典值中附加列表时遇到问题,这段代码只是覆盖:

d = {data[0][c]: [] + [col] for r, row in enumerate(data) for c, col in enumerate(row)}
>>> d
{'c': [6], 'a': [4], 'b': [5]}
Run Code Online (Sandbox Code Playgroud)

python python-3.x dictionary-comprehension

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

复杂参考另一个表

我的数据框如下所示:列名称'Types'shows每种类型都有所不同

我想添加另一个名为'number'的列,如下所示.

df=pd.DataFrame({'Sex':['M','F','F','M'],'Age':[30,31,33,32],'Types':['A','C','B','D']})

Out[8]: 

    Age Sex  Types
0   30   M      A
1   31   F      C
2   33   F      B
3   32   M      D
Run Code Online (Sandbox Code Playgroud)

我下面还有另一张男表; 每列代表类型!

(很难为我创建表格,还有另一种简单的方法可以创建吗?)

table_M = pd.DataFrame(np.arange(20).reshape(4,5),index=[30,31,32,33],columns=["A","B","C","D","E"])
table_M.index.name="Age(male)"

         A      B      C      D      E
Age(male)                                   
30       0      1      2      3      4
31       5      6      7      8      9
32      10     11     12     13     14
33      15     16     17     18     19
Run Code Online (Sandbox Code Playgroud)

我下面有女表;

table_F = pd.DataFrame(np.arange(20,40).reshape(4,5),index=[30,31,32,33],columns=["A","B","C","D","E"])
table_F.index.name="Age(female)"

        A      B      C      D      E
Age(female)                                   
30      20     21     22     23     24
31      25     26 …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

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

在函数调用中使用*运算符

我在random.randint()中使用*感到困惑,找不到任何文档

random.randint( *(1,300) )
Run Code Online (Sandbox Code Playgroud)

random.randint( 1,300 )

random.randint( *300 )
TypeError: randint() argument after * must be a sequence, not int
Run Code Online (Sandbox Code Playgroud)

python

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

python 中 * 与 range() 有何作用?

我正在做一个 Hackerrank python 问题,任务是在不使用任何字符串函数的情况下打印123...NN输入在哪里)。

有人评论了一个解决方案:

print(*range(1, int(input())+1), sep='')
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. 这里的 * 与 range() 函数有什么用?
  2. 为什么我们不能仅在打印中使用 range() 函数来做到这一点?
  3. 还有其他方法可以做到这一点吗?

python range sequence python-3.x

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

在python中查找单词的所有组合(上部和下部以及符号)

我希望它是星期一 - 它现在正在踢,但我觉得应该很容易 - 或者至少是优雅 - 给我一个大脑放屁.用例是这样的:

查找特定单词的所有可能组合,其中字母可以是任何大小写或替换为字母.例如:

一句话:'密码'组合:'密码','P @ ssw0rd','p @ 55w0rD'......

我不想写7个循环来找到它,即使它是一个永远不会再次使用的一次性脚本.

python iteration combinations

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