小编use*_*044的帖子

Python == with或vs. list in comparison

检查相等性时,以下速度和功能之间是否存在任何实际差异:

number = 'one'
if number == 'one' or number == 'two':
Run Code Online (Sandbox Code Playgroud)

number = 'one'
if number in ['one', 'two']:
Run Code Online (Sandbox Code Playgroud)

python python-2.7

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

datetime TypeError:'datetime.datetime'对象没有属性'__getitem__'

我在这做错了什么?

import datetime

someday = datetime.datetime(2014, 9, 23, 0, 0)

someday = datetime.datetime.strptime(someday[:10], '%Y-%m-%d')
print someday
Run Code Online (Sandbox Code Playgroud)

错误:

TypeError: 'datetime.datetime' object has no attribute '__getitem__'
Run Code Online (Sandbox Code Playgroud)

python strptime python-2.7

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

创建嵌套字典的副本而不是引用

为什么使用该dict()函数不会像标准键:值对字典那样创建带有嵌套字典的副本?

字典

A = {'key' : 'value'}
B = dict(A)
A['key'] = 10
print A, B
Run Code Online (Sandbox Code Playgroud)

输出:

{'key': 10} {'key': 'value'}
Run Code Online (Sandbox Code Playgroud)

嵌套字典:

A = {'key' : {'subkey' : 'value'}}
B = dict(A)
A['key']['subkey'] = 10
print A, B
Run Code Online (Sandbox Code Playgroud)

输出:

{'key': {'subkey': 10}} {'key': {'subkey': 10}}
Run Code Online (Sandbox Code Playgroud)

python dictionary python-2.7

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

重写这些多个if语句的最有效方法

我知道这是一个荒谬的例子,但我正在寻找一种更有效的方法来编写这段代码.每个项目都会根据它所处的状态添加不同的值.这只是一个小片段.我可能希望将这个扩展到所有50个州,这将是很多if语句.我可以在函数中转储它,但是函数仍然会有所有的if语句.

Projects = [['Project A', 'CT', '', ''], ['Project B', 'MA', '', ''], ['Project C', 'RI', '', '']]

for project in Projects:
    if project[1] == 'CT':
        project[2] = project[0] + project[1]
        project[3] = '222'
    elif project[1] == 'MA':
        project[2] = '123'
        project[3] = None
    elif project[1] == 'ME':
        project[2] = '12323'
        project[3] = '333'
    elif project[1] == 'RI':
        project[2] = 'asdf'
        project[3] = '3333'
print Projects
Run Code Online (Sandbox Code Playgroud)

python if-statement python-2.7

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

在Tkinter Entry Widgets的循环中创建StringVar变量

我有一个小脚本,可以生成随机数量的条目小部件.每个人都需要一个StringVar(),所以我可以为小部件分配文本.我如何创建这些作为循环的一部分,因为我不会提前知道将会有多少?

from Tkinter import *
import random
root = Tk()
a = StringVar()
height = random.randrange(0,5)
width = 1

for i in range(height): #Rows
    value + i = StringVar()
    for j in range(width): #Columns
        b = Entry(root, text="", width=100, textvariable=value+i)
        b.grid(row=i, column=j)

mainloop()
Run Code Online (Sandbox Code Playgroud)

python tkinter python-2.7

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

使用 XLwings 将变量从 Excel 传递到 Python

我正在尝试用 Python 编写一个简单的用户定义函数,我将一个值传递给 from Excelvia Xlwings。我遇到了一些带有加载项的示例,您需要导入用户定义的函数,但这似乎过于复杂。

为什么我的例子不起作用?

VBA:

Function Hello(name As String) As String
    RunPython ("import Test; Test.sayhi(name)")
End Function
Run Code Online (Sandbox Code Playgroud)

蟒蛇(Test.py):

from xlwings import Workbook, Range

def sayhi(name):
    wb = Workbook.caller()
    return 'Hello {}'.format(name)
Run Code Online (Sandbox Code Playgroud)

错误:

NameError: name 'name' is not defined
Run Code Online (Sandbox Code Playgroud)

python excel vba xlwings

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

在Numpy数组中查找模式

我试图在a中找到模式numpy array,称为values.我想返回模式的起始索引位置.我知道我可以迭代每个元素并检查该元素和下一个元素是否与模式匹配,但是在一个非常低效的大型数据集上,我正在寻找更好的替代方案.

我有一个工作解决方案np.where用于搜索单个值,但我不能让它找到一个模式或两个数字.

例:

import numpy as np
values = np.array([0,1,2,1,2,4,5,6,1,2,1])
searchval = [1,2]
print  np.where(values == searchval)[0]
Run Code Online (Sandbox Code Playgroud)

输出:

[]
Run Code Online (Sandbox Code Playgroud)

预期产出:

[1, 3, 8]
Run Code Online (Sandbox Code Playgroud)

python numpy python-2.7

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

将 Pandas 列乘以多索引值

我有一个多索引数据框,索引上有三个级别。我想将每个百分比值乘以总人口。

我正在尝试这样的事情:

df = df.reset_index(level=2, drop=True)
df['TOTAL'] = df['POP.'] * output['PERCENT']
Run Code Online (Sandbox Code Playgroud)

我明白了KeyError: 'POP.'

启动数据框

                               PERCENT  
     DATE      POP.  SEX                
2015-01-01     100  MALE        0.51  
                    FEMALE      0.49  
2016-01-01     200  MALE        0.52  
                    FEMALE      0.48
Run Code Online (Sandbox Code Playgroud)

所需输出

                               PERCENT     TOTAL  
     DATE      POP.  SEX                
2015-01-01     100  MALE        0.51         51  
                    FEMALE      0.49         49
2016-01-01     200  MALE        0.52        104
                    FEMALE      0.48         96
Run Code Online (Sandbox Code Playgroud)

python python-2.7 pandas

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

用列表理解替换列表列表中的 None 值

我想用列表理解替换列表列表中的所有 None 值。我的代码似乎只是返回到列表的原始列表。

Names = [['Jon',None,'Bill'],['Andrew','Robert',None]]
Removed_None = [0 if x is None else x for x in Names]
print Removed_None
Run Code Online (Sandbox Code Playgroud)

期望输出:

[['Jon',0,'Bill'],['Andrew','Robert',0]]
Run Code Online (Sandbox Code Playgroud)

python list-comprehension python-2.7

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

Dictionary Torehension生成内置类型的值

我想做一个词典理解来获得一个内置类型str为值的键列表.

headers = ['Header1', 'Header2', 'Header3']
print dict([(x,str) for x in headers])
Run Code Online (Sandbox Code Playgroud)

输出:

{'Header2': <type 'str'>, 'Header3': <type 'str'>, 'Header1': <type 'str'>}
Run Code Online (Sandbox Code Playgroud)

期望的输出:

{'Header2': str, 'Header3': str, 'Header1': str}
Run Code Online (Sandbox Code Playgroud)

python dictionary python-2.7 dictionary-comprehension

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