检查相等性时,以下速度和功能之间是否存在任何实际差异:
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) 我在这做错了什么?
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) 为什么使用该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) 我知道这是一个荒谬的例子,但我正在寻找一种更有效的方法来编写这段代码.每个项目都会根据它所处的状态添加不同的值.这只是一个小片段.我可能希望将这个扩展到所有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) 我有一个小脚本,可以生成随机数量的条目小部件.每个人都需要一个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 编写一个简单的用户定义函数,我将一个值传递给 from Excel
via 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) 我试图在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) 我有一个多索引数据框,索引上有三个级别。我想将每个百分比值乘以总人口。
我正在尝试这样的事情:
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) 我想用列表理解替换列表列表中的所有 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) 我想做一个词典理解来获得一个内置类型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 ×10
python-2.7 ×9
dictionary ×2
excel ×1
if-statement ×1
numpy ×1
pandas ×1
strptime ×1
tkinter ×1
vba ×1
xlwings ×1