我有2个词典:
d1 = {'a':'python','b':'java','c':'c++','d':'js',........}
d2 = {'1':'a','2':'b','4':'d','3':'c',........}
Run Code Online (Sandbox Code Playgroud)
我需要使用两者创建新词典,第二个dict值应该是新词典的关键,第一个dict值应该是新词典dict的值,如:
result = {'1':'python','2':'java','3':'c++','4':'js',........}
Run Code Online (Sandbox Code Playgroud)
我尝试这样做:
d2_rev = {j:i for i,j in d2.items()}
result = {i:d2_rev[i] for i,j in d2_rev }
Run Code Online (Sandbox Code Playgroud)
我得到正确的输出接受我有非常大的字典和执行需要更多的时间.我有什么办法可以提高这段代码的速度吗?
我希望在一个字符串中得到一个after和之前的匹配.
例如,使用以下字符串:
"Hello I am Jim!"
Run Code Online (Sandbox Code Playgroud)
搜索字符串为:"I am",搜索字符串之前的匹配应为:"Hello"并且之后的匹配应为:"Jim!".
我怎样才能做到这一点?
我遇到了一个不幸的情况,其中一个特定文件的文件名是Python中的关键字.有没有办法在没有重命名文件的情况下"绕过"这个?
libraries/import.py 有功能 my_function()
from libraries.import import my_function
Run Code Online (Sandbox Code Playgroud)
得到:
E999 - SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
并指向" .import"部分
我试了几件事:
from "libraries.import" import my_function
from libraries."import" import my_function
from libraries import import.my_function
from repr(libraries.import) import my_function
from `libraries.import` import my_function # deprecated
import libraries.import.my_function
Run Code Online (Sandbox Code Playgroud)
但它们都有相同的结果:SyntaxError.
也无法在Python手册中找到任何提示 - 但也没有关于使用保留名称的警告:)这可能吗?怎么样?
我知道cmathin Python用于复杂的数学运算.
import cmath
cmath.exp(-2j)
Run Code Online (Sandbox Code Playgroud)
现在我想在其指数中使用一个变量:
a = 2
cmath.exp(-a*j)
Run Code Online (Sandbox Code Playgroud)
这会引发错误:
name 'j' is not defined
Run Code Online (Sandbox Code Playgroud)
如何在exp的指数中使用复数变量?
在类中的方法中引用具有新变量名的属性是不好的做法吗?例如:
class Stuff:
def __init__(self, a):
self.a = a
def some_method(self):
a = self.a
# Do some stuff with a
Run Code Online (Sandbox Code Playgroud)
我已经在其他人的代码中看到了这一点,我已经养成了自己的习惯,尤其是长变量名.a当我这样做时,它似乎是一个副本,如果a非常大,可能会出现问题.我是不是应该坚持呼吁self.a里面some_method?python垃圾会a在some_method调用后收集创建的吗?
作为一个例子:math.sqrt()被认为是一个函数但是,"Lower".upper()被称为.upper() 方法.
为什么是math.sqrt功能?点访问不是指示方法吗?
这是我在麻省理工学院开放式课程计算机科学第7讲中遇到的一段代码.这个小程序得到基数和高度的输入然后用毕达哥拉斯定理计算斜边.
由于某种原因,它无法识别浮动的进入.
代码如下:
#! /Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5
import math
#Get base
inputOK = False
while not inputOK:
base = input("Enter base: ")
if type(base) == type(1.0):
inputOK = True
else:
print("Error. Base must be a floating point number.")
#Get Height
inputOK = False
while not inputOK:
height = input("Enter height: ")
if type(height) == type(1.0):
inputOK = True
else:
print("Error. height must be a floating point number.")
hyp = math.sqrt(base*base + height*height)
print("Base: " + str(base) + ", height: " + str(height) …Run Code Online (Sandbox Code Playgroud) 所以,我正在尝试从 Python 的列表中删除非整数(非常令人兴奋的东西)。我遇到了以下代码的问题,但我似乎无法解决:
list_a = ["a", 1, 2, 3, False, [1, 2, 3]]
for item in list_a:
if not isinstance(item, int):
list_a.remove(item)
Run Code Online (Sandbox Code Playgroud)
我试图删除列表中的所有非 int 项目,但上面的代码不会删除 False。
我想要的是:[1, 2, 3]
我得到什么:[1, 2, 3, False]
任何帮助解决这个问题的帮助将不胜感激!
我做了这个简短的问卷调查:
from random import randint
def pancakes():
q = raw_input("Do you like pancakes?")
if q == "yes":
print("Great!")
elif q == "no":
print("Hmmm...")
def french_toast():
q = raw_input("Do you like french toast?")
if q == "yes":
print("Oh!")
elif q == "no":
print("Same here!")
def random():
num = 2
while num > 0:
random = randint(1, 2)
if random == 1:
num = num -1
pancakes()
elif random == 2:
num = num -1
french_toast()
random()
Run Code Online (Sandbox Code Playgroud)
我的目标是以随机顺序提出问题.但有时同样的问题会被问到两次,因为它是随机选择的.
那么我怎么能让它只问一次相同的问题呢?
我是python的新手.我正在做以下代码,我遇到了一个不受欢迎的结果.请查看我的代码,让我知道我做错了什么:
class TestClass(object):
@classmethod
def __init__(self, val):
self.val = val
@classmethod
def value(self):
return self.val
def Test():
a = TestClass(9)
b = TestClass(8)
c = TestClass(7)
print(a.value(), b.value(), c.value())
Run Code Online (Sandbox Code Playgroud)
期望输出为
9 8 7
Run Code Online (Sandbox Code Playgroud)
但得到输出
7 7 7
Run Code Online (Sandbox Code Playgroud)
我的代码有什么问题.
python ×10
python-3.x ×9
python-2.7 ×3
class ×2
attributes ×1
boolean ×1
dictionary ×1
function ×1
list ×1
math ×1
python-2.x ×1
random ×1
string ×1
types ×1