相关疑难解决方法(0)

是否有理由偏爱__slots__的列表或元组?

您可以__slots__使用列表或元组(或任何可迭代的?)在新型python类中进行定义。创建实例后,该类型仍然存在。

鉴于元组总是比列表更有效率并且是不变的,是否有任何理由不希望使用元组__slots__呢?

>>> class foo(object):
...   __slots__ = ('a',)
... 
>>> class foo2(object):
...   __slots__ = ['a']
... 
>>> foo().__slots__
('a',)
>>> foo2().__slots__
['a']
Run Code Online (Sandbox Code Playgroud)

python

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

为什么要实现两个如此相似的数据结构,如List和Tuple

在python中,list数据结构是一系列元素.类似地,a tuple也是一系列元素,然而,元组是immutable.

是什么原因产生了这样一个类似的数据结构,那就是只有功能,而不是列表,它是不能改变的?它是否可以通过不可变来节省内存空间?

此外,如果列表和元组包含完全相同的数据,它们是否会在内存中使用相同的空间量?

python tuples list immutability

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

为什么Django的ModelAdmin使用列表而不是元组,反之亦然

从Django介绍教程,在\mysite\polls\admin.py:

from django.contrib import admin
#...
class PollAdmin(admin.ModelAdmin):
  #...
  inlines = [ChoiceInline]
  list_display = ('question', 'pub_date', 'was_published_today')
  list_filter = ['pub_date']

admin.site.register(Poll, PollAdmin)
Run Code Online (Sandbox Code Playgroud)

为什么内联和list_filter使用列表,同时list_display使用元组?内联并且list_filters由于某种原因需要变得可变吗?

我只想在这里理解设计决定.

python django

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

列表上的哈希函数

我有一个包含 3 个字段的列表:

[weight, age, marks]
Run Code Online (Sandbox Code Playgroud)

我想在每一行上应用哈希函数并将这些哈希值存储为列表。如何继续?

我使用以下函数组合了体重、年龄、标记的各个列表zip()

list1=zip(weight,age,marks)
Run Code Online (Sandbox Code Playgroud)

请帮我解决这个问题,我是Python新手。提前致谢。

python hash

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

管理站点列表与元组 django

当自定义管理站点时,我们可以使用listtuple喜欢

@admin.register(Model_name)
class Model_nameAdmin(admin.ModelAdmin):
  list_display = ['a', 'b', 'c']  # using list
  # lets say a, b, c are fields of model(Model_name)
                    or 
  list_display = ('a', 'b', 'c')  # using tuple 
Run Code Online (Sandbox Code Playgroud)

我很好奇使用列表与元组相比是否有任何区别,反之亦然,例如在检索管理站点或类似内容时的性能。我知道元组比列表的性能更好,但我们不会在这里循环。我查看了列表和元组之间的区别是什么为什么-django-use-tuples-for-settings-and-not-lists为什么-djangos-modeladmin-uses-lists-over -元组,反之亦然,但没有得到我的答案。一直使用元组更好吗?我专门询问管理网站。

django django-admin

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

Python中的列表

python中的List是同构还是异构?

python list

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

调用了错误的函数?

所以我在Python中编写了一个简短而简单的聊天机器人,但这是一个令人恼火的问题.程序posResponses() 最初只会调用该函数.

在上下文中,如果我用"悲伤","可怕"甚至"asdfasdfasdf"回答其最初的问题,我仍会得到积极的回应.

应该发生的是如果我输入一个否定/不明确的关键字,应该调用negResponses()/ ambiguousResponses()function.事实并非如此.我做错了什么,我该如何解决?代码如下:

import random
import time

def opening():
    print('Hello!')

def responseType():
    responseType = str(input('How are you ?'))
    if responseType == 'good' or 'great' or 'fantastic' or 'decent' or 'fine' or 'ok' or 'okay': posResponses()
    elif responseType == 'bad' or 'terrible' or 'sad' or 'grumpy' or 'angry' or 'irritated' or 'tired': negResponses()
    else: ambiguousResponses()

def posResponses():
    number = random.randint(1, 4)
    if number == 1:
        print('That\'s great! So what\'s up?')
        input()
        ambiguousResponses()
    if number == …
Run Code Online (Sandbox Code Playgroud)

python python-3.x

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

在Python的NumPy中创建数组时方括号和括号之间的区别

创建数组有两个选项:

x = numpy.array([[5, 5, 3, 2], [2, 1, 0, 9], [3, 7, 6, 0]])
y = numpy.array([(5, 5, 3, 2), (2, 1, 0, 9), (3, 7, 6, 0)])
Run Code Online (Sandbox Code Playgroud)

但他们有相同的产出.

[[5 5 3 2]
[2 1 0 9]
[3 7 6 0]]
Run Code Online (Sandbox Code Playgroud)

它们都有相同的类型:

<class 'numpy.ndarray'>  
Run Code Online (Sandbox Code Playgroud)

哪一个更好,有什么区别?

python arrays numpy

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

是否有更好(更有效)的方法从元组中删除项目?

我有一个元组列表,我从中删除了第i个元素.现在我正在这样做:

map(lambda e: list(e)[:i] + list(e)[(i + 1):], data)
Run Code Online (Sandbox Code Playgroud)

它将元组转换为一个列表(两次!),然后切掉元素.结果意味着我有列表而不是元组 - 但这完全没问题.有没有更快的方法,可能通过在单独的地图操作中将每个元组转换为列表?

python python-2.7

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

提高代码可读性,让python脚本更加优雅

有哪些代码结构/编程技术可以避免这种情况:

  if url.netloc  == "www.youtube.com" or "youtu.be" or "soundcloud.com or //
  "instagram.com" or "vine.co" or ETC ETC
     do XYZ
Run Code Online (Sandbox Code Playgroud)

python refactoring if-statement switch-statement

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