小编Jim*_*ard的帖子

使用一个具有另一个的值的密钥从两个字典创建字典

我有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)

我得到正确的输出接受我有非常大的字典和执行需要更多的时间.我有什么办法可以提高这段代码的速度吗?

python dictionary python-3.x

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

如何在字符串中获得前后匹配?

我希望在一个字符串中得到一个after和之前的匹配.

例如,使用以下字符串:

"Hello I am Jim!"
Run Code Online (Sandbox Code Playgroud)

搜索字符串为:"I am",搜索字符串之前的匹配应为:"Hello"并且之后的匹配应为:"Jim!".

我怎样才能做到这一点?

python string python-2.7 python-3.x

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

当"z"是Python关键字时,如何"从xyz import a"?

我遇到了一个不幸的情况,其中一个特定文件的文件名是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手册中找到任何提示 - 但也没有关于使用保留名称的警告:)这可能吗?怎么样?

python python-import python-3.x

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

Python cmath如何在exp的指数中使用复杂变量?

我知道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的指数中使用复数变量?

python math python-3.x

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

引用方法中的属性

在类中的方法中引用具有新变量名的属性是不好的做法吗?例如:

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垃圾会asome_method调用后收集创建的吗?

python attributes class python-2.7 python-3.x

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

为什么math.sqrt()被称为函数?由于点访问通常用于方法.是什么让math.sqrt()成为一个函数?

作为一个例子:math.sqrt()被认为是一个函数但是,"Lower".upper()被称为.upper() 方法.

为什么是math.sqrt功能?点访问不是指示方法吗?

python function python-2.7 python-3.x

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

Python 3用type()识别float

这是我在麻省理工学院开放式课程计算机科学第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 types python-3.x

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

使用 isinstance 从列表中删除 false 时出现问题

所以,我正在尝试从 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]

任何帮助解决这个问题的帮助将不胜感激!

python boolean list python-3.x

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

随机调用要执行的函数

我做了这个简短的问卷调查:

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 random python-2.x

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

Python中的类变量问题

我是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 class python-3.x

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