Questions tagged «python»

Python是一种多范式,动态类型的多用途编程语言。它旨在快速学习,理解和使用并强制使用干净统一的语法。请注意,Python 2自2020年1月1日起已不再受支持。不过,对于特定于版本的Python问题,请添加[python-2.7]或[python-3.x]标签。使用Python变体或库(例如Jython,PyPy,Pandas,Numpy)时,请将其包含在标签中。

6
如何替换每个单词中第一个出现的字符?
如何替换每个单词中第一个出现的字符? 说我有这个字符串: hello @jon i am @@here or @@@there and want some@thing in '@here" # ^ ^^ ^^^ ^ ^ 我想删除@每个单词的第一个,以便最终得到一个像这样的最终字符串: hello jon i am @here or @@there and want something in 'here # ^ ^ ^^ ^ ^ 只是为了澄清起见,“ @”字符始终在每个单词中同时出现,但可以出现在单词的开头或其他字符之间。 我设法通过使用在Delete子串中发现的正则表达式的变体(仅一次出现)来删除“ @”字符(一次出现),但是在python中连续两次出现时却没有,因此使用了负向超前和负向超前: @(?!@)(?<!@@) 查看输出: >>> s = "hello @jon …
44 python  regex 

5
pip3“ TypeError:'模块'对象不可调用”更新后
我是Python新手,我想在控制台中安装Jupyter Notebook,然后输入以下内容: pip3 install --upgrade pip 之后,我在使用pip3安装其他库时出错,控制台输出: File "/usr/bin/pip3", line 11, in <module> sys.exit(main()) TypeError: 'module' object is not callable 我不知道该怎么办。 我用完sudo autoremove python3-pip之后sudo apt install python3-pip
42 python  ubuntu  pip 


1
Python __getitem__和in运算符导致奇怪的行为
是什么解释了以下行为: class Foo: def __getitem__(self, item): print("?") return 1 f = Foo() 1 in f # prints one ? and returns True 5 in f # prints ? forever until you raise a Keyboard Exception # Edit: eventually this fails with OverflowError: iter index too large

13
有没有更好的方法在python中编写嵌套的if语句?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5个月前关闭。 有没有比此方法更Python化的方式来嵌套if语句: def convert_what(numeral_sys_1, numeral_sys_2): if numeral_sys_1 == numeral_sys_2: return 0 elif numeral_sys_1 == "Hexadecimal": if numeral_sys_2 == "Decimal": return 1 elif numeral_sys_2 == "Binary": return 2 elif numeral_sys_1 == "Decimal": if numeral_sys_2 == "Hexadecimal": return 4 elif numeral_sys_2 == "Binary": return 6 elif numeral_sys_1 == "Binary": if …

12
在Python中生成数字及其负数的列表
是否有方便的单行代码在Python中生成数字列表及其负数列表? 例如,假设我要生成一个数字为6到9和-6到-9的列表。 我当前的方法是: l = [x for x in range(6,10)] l += [-x for x in l] 一个简单的“单线”将是: l = [x for x in range(6,10)] + [y for y in range(-9, -5)] 但是,生成两个列表然后将它们合并在一起似乎很不方便。

5
为什么在Python中1 // 0.01 == 99?
我以为这是一个经典的浮点精度问题,但是我试图绕过这个结果,运行 1//0.01用Python 3.7.5 yields99。 我想这是预期的结果,但是有什么方法可以决定何时使用它int(1/f)而不是更安全1//f吗?
31 python 

14
正数和负数序列的计数和求和
我想编写一个代码来计算和求和任何正数和负数。 数字可以是正数或负数(不为零)。 我用for循环编写了代码。有创意吗? 数据 [R set.seed(100) x <- round(rnorm(20, sd = 0.02), 3) 蟒蛇 x = [-0.01, 0.003, -0.002, 0.018, 0.002, 0.006, -0.012, 0.014, -0.017, -0.007, 0.002, 0.002, -0.004, 0.015, 0.002, -0.001, -0.008, 0.01, -0.018, 0.046] 循环 [R sign_indicator <- ifelse(x > 0, 1,-1) number_of_sequence <- rep(NA, 20) n <- …
31 python  r 

5
从调用生成器的函数返回还是让出?
我有一个生成器generator,还有一个便捷的方法- generate_all。 def generator(some_list): for i in some_list: yield do_something(i) def generate_all(): some_list = get_the_list() return generator(some_list) # <-- Is this supposed to be return or yield? 应该generate_all return还是yield?我希望两种方法的用户都使用相同的方法,即 for x in generate_all() 应该等于 some_list = get_the_list() for x in generate(some_list)

2
自定义TensorFlow Keras优化器
假设我想编写一个符合tf.kerasAPI 的自定义优化器类(使用TensorFlow版本> = 2.0)。我对文档记录的执行方式与实现中的执行方式感到困惑。 有关tf.keras.optimizers.Optimizer 状态的文档, ### Write a customized optimizer. If you intend to create your own optimization algorithm, simply inherit from this class and override the following methods: - resource_apply_dense (update variable given gradient tensor is dense) - resource_apply_sparse (update variable given gradient tensor is sparse) - create_slots …

7
分区中唯一子字符串的最大数量
我修改了标题,以使其更易于理解。 这是问题的详细版本: 我们有一个字符串s ,想要将其拆分为子字符串。每个子字符串彼此不同。一次切割最多可以拥有的唯一子字符串的数量是多少。换句话说,串联形成form的唯一子字符串的最大数量是多少s。 这里有些例子: Example 1 s = 'aababaa' output = 4 Explain: we can split `s` into aa|b|aba|a or aab|a|b|aa, and 4 is the max number of substrings we can get from one split. Example 2 s = 'aba' output = 2 Explain: a|ba Example 3 s = …

6
如何以编程方式检查python软件包是否为最新版本?
如何在脚本中以编程方式检查软件包的最新版本,并返回true或false? 我可以使用以下脚本进行检查: package='gekko' import pip if hasattr(pip, 'main'): from pip import main as pipmain else: from pip._internal import main as pipmain pipmain(['search','gekko']) 或使用命令行: (base) C:\User>pip search gekko gekko (0.2.3) - Machine learning and optimization for dynamic systems INSTALLED: 0.2.3 (latest) 但是,如何以编程方式检查并返回true或false?
29 python  pip  gekko 

2
使用numpy奇怪的索引
我有一个变量x,其形状为(2,2,50,100)。 我也有一个数组y,它等于np.array([0,10,20])。当我索引x [0,:,:,y]时,发生了一件奇怪的事情。 x = np.full((2,2,50,100),np.nan) y = np.array([0,10,20]) print(x.shape) (2,2,50,100) print(x[:,:,:,y].shape) (2,2,50,3) print(x[0,:,:,:].shape) (2,50,100) print(x[0,:,:,y].shape) (3,2,50) 为什么最后一个输出(3,2,50)而不是(2,50,3)?
27 python  numpy 

8
有没有一种方法可以将CSV列转换为层次关系?
我有700万份生物多样性记录的csv,其中分类学级别为列。例如: RecordID,kingdom,phylum,class,order,family,genus,species 1,Animalia,Chordata,Mammalia,Primates,Hominidae,Homo,Homo sapiens 2,Animalia,Chordata,Mammalia,Carnivora,Canidae,Canis,Canis 3,Plantae,nan,Magnoliopsida,Brassicales,Brassicaceae,Arabidopsis,Arabidopsis thaliana 4,Plantae,nan,Magnoliopsida,Fabales,Fabaceae,Phaseoulus,Phaseolus vulgaris 我想在D3中创建一个可视化文件,但是数据格式必须是网络,其中每个列的不同值都是上一个特定值的列的子级。我需要从csv转到类似这样的内容: { name: 'Animalia', children: [{ name: 'Chordata', children: [{ name: 'Mammalia', children: [{ name: 'Primates', children: 'Hominidae' }, { name: 'Carnivora', children: 'Canidae' }] }] }] } 我还没有想到不使用上千个for循环就如何做到这一点的想法。是否有人对如何在python或javascript上创建此网络提出建议?

1
有没有办法从dict和collections.abc.MutableMapping一起继承子类?
为了示例起见,假设我想继承子类dict并将所有键都大写: class capdict(dict): def __init__(self,*args,**kwds): super().__init__(*args,**kwds) mod = [(k.capitalize(),v) for k,v in super().items()] super().clear() super().update(mod) def __getitem__(self,key): return super().__getitem__(key.capitalize()) def __setitem__(self,key,value): super().__setitem__(key.capitalize(),value) def __delitem__(self,key): super().__detitem__(key.capitalize()) 这在一定程度上有效 >>> ex = capdict(map(reversed,enumerate("abc"))) >>> ex {'A': 0, 'B': 1, 'C': 2} >>> ex['a'] 0 但是,当然,仅适用于我记得要实现的方法,例如 >>> 'a' in ex False 不是期望的行为。 现在,填充可以从“核心”方法派生的所有方法的惰性方法是混入collections.abc.MutableMapping。只是,它在这里不起作用。我想是因为所讨论的方法(__contains__在示例中)已经由提供dict。 有办法吃我的蛋糕吗?让我们MutableMapping只看一下我已重写的方法,以便在这些方法的基础上重新实现其他方法,是否有些魔术?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.