小编A.J*_*pal的帖子

del使用不好吗?

我通常del在我的代码中使用删除对象:

>>> array = [4, 6, 7, 'hello', 8]
>>> del(array[array.index('hello')])
>>> array
[4, 6, 7, 8]
>>> 
Run Code Online (Sandbox Code Playgroud)

但我听到很多人说使用del是unpythonic.使用del不好的做法?

>>> array = [4, 6, 7, 'hello', 8]
>>> array[array.index('hello'):array.index('hello')+1] = ''
>>> array
[4, 6, 7, 8]
>>> 
Run Code Online (Sandbox Code Playgroud)

如果没有,为什么有很多方法可以在python中完成同样的事情?一个比其他人好吗?

选项1:使用 del

>>> arr = [5, 7, 2, 3]
>>> del(arr[1])
>>> arr
[5, 2, 3]
>>> 
Run Code Online (Sandbox Code Playgroud)

选项2:使用 list.remove()

>>> arr = [5, 7, 2, 3]
>>> arr.remove(7)
>>> arr
[5, 2, 3] …
Run Code Online (Sandbox Code Playgroud)

python side-effects mutable slice

46
推荐指数
4
解决办法
4999
查看次数

从Android Intent打开图库应用程序

我正在寻找一种Android从意图中打开图库应用程序的方法.

我不想返回图片,而只是打开图库以允许用户使用它,就好像他们从启动器(View pictures/folders)中选择它一样.

我试图做以下事情:

Intent intent = new Intent();  
intent.setAction(android.content.Intent.ACTION_GET_CONTENT);  
intent.setType("image/*");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

然而,一旦我选择了一张图片,这会导致应用程序关闭(我知道这是因为ACTION_GET_CONTENT),但我需要打开图库.

任何帮助都会很棒.

谢谢

java android android-intent

22
推荐指数
5
解决办法
8万
查看次数

Jquery检查父项是否有ID

嗨,我正在尝试检查父元素是否包含ID

这是我的清单

<ul>
<li></li>
<li id="selected">
    <ul>
        <li></li>
        <li></li>
    </ul>
</li>
<li></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

不知道如何在这里制作正确的清单?

if (jQuery(LiElement).parent("#selected"))
{
    //If parent has id=selected
}
else
{
    //If parent dont have id=selected
}
Run Code Online (Sandbox Code Playgroud)

有谁可以帮助我吗?

jquery

9
推荐指数
2
解决办法
2万
查看次数

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

在OSX上使用pip安装pyenchant时"找不到附带的C库"

我输入了pip install pyenchant我的shell,但它引发了两个Traceback错误:

1:

Traceback (most recent call last):
  File "<string>", line 16, in <module>
  File "/private/var/folders/q4/l70hdqjd5db2n2bdj69qrwz40000gq/T/pip_build_prernauppal/pyenchant/setup.py", line 195, in <module>
    import enchant
  File "enchant/__init__.py", line 90, in <module>
    from enchant import _enchant as _e
  File "enchant/_enchant.py", line 133, in <module>
    raise ImportError("enchant C library not found")
ImportError: enchant C library not found
Run Code Online (Sandbox Code Playgroud)

2:

Traceback (most recent call last):

    File "<string>", line 16, in <module>

    File "/private/var/folders/q4/l70hdqjd5db2n2bdj69qrwz40000gq/T/pip_build_prernauppal/pyenchant/setup.py", line 195, in <module>

        import enchant

    File "enchant/__init__.py", line 90, in …
Run Code Online (Sandbox Code Playgroud)

macos pip pyenchant

9
推荐指数
2
解决办法
9977
查看次数

有没有办法将范围传递给指令templateUrl:function?

我有一个指令,我正在循环调用.循环中的每个项都有一个FieldTypeId属性,并且根据FieldTypeId的值,我想换出模板的URL.我觉得这是一种更好的多态方法,而不是在html中执行ng-switch语句.

<div ng-repeat="item in attributes">
  <div attribute-input></div>
</div>
Run Code Online (Sandbox Code Playgroud)

当然,$scope这个指令中没有:

editStudentAccountModule.directive('attributeInput', function () {
        return {
            restrict: "AE",
            templateUrl: function () { // 
               var attribute = $scope.attributes[$scope.$index];
               if (attribute.FieldTypeId == 1) {
                 return '../Templates/dropdown.html';
               } else if (attribute.FieldTypeId == 2) {
                 return '../Templates/radio.html';
               } // etc.
            }
        }
    });
Run Code Online (Sandbox Code Playgroud)

angularjs angularjs-directive angularjs-scope

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

plt.subplots() 和 plt.figure() 的区别

在 python matplotlib 中,有两个约定用于绘制绘图:

 1. 

plt.figure(1,figsize=(400,8))
Run Code Online (Sandbox Code Playgroud)

 2. 

fig,ax = plt.subplots()
fig.set_size_inches(400,8)
Run Code Online (Sandbox Code Playgroud)

两者都有不同的方式来做同样的事情。例如定义轴标签。

哪个更好用?一个比另一个有什么优势?或者使用 matplotlib 绘制图形的“良好实践”是什么?

matplotlib python-2.7

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

分配时列表的Python深层复制

在python考试中练习了这个练习.试图返回如下列表的深层副本:

l = list()
l = [0,1,2]
l1 = l
l[0] = 1
Run Code Online (Sandbox Code Playgroud)

L1应该包含[0,1,2][1,1,2]

指定使用元类实现它的练习.

class deep(type):
    def __new__(meta, classname, bases, classDict):
        return type.__new__(meta, classname, bases, classDict)
    def __init__(cls, name, bases, dct):
        super(deep, cls).__init__(name, bases, dct)
    def __call__(cls, *args, **kwds):
        return type.__call__(cls, *args, **kwds)            
class list(metaclass=deep):
    def __init__(self):
        pass
Run Code Online (Sandbox Code Playgroud)

据我所知,'='in python是一个语句,而不是一个运算符,它不能被覆盖.关于如何在作业中返回深层副本的任何想法?已经尝试了很多但没有成功.

python metaclass list deep-copy

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

Python:为什么说只引用的变量是隐式全局的?

Python FAQ中我们可以阅读:

在Python中,仅在函数内引用的变量是隐式全局变量

关于定义函数Python教程中,我们可以阅读:

函数的执行引入了用于函数局部变量的新符号表.更确切地说,函数中的所有变量赋值都将值存储在本地符号表中; 而变量引用首先在本地符号表中查找,然后在封闭函数的本地符号表中查找,然后在全局符号表中查找,最后在内置名称表中查找

现在我完全理解了教程语句,但后来说这variables that are only referenced inside a function are implicitly global对我来说似乎很模糊.

如果我们真的开始查看本地符号表,然后按照更"通用"的表格,那么为什么说它们是隐式全局的呢?它只是一种说法,如果你只想在一个函数中引用一个变量,你不需要担心它是本地的还是global

python global

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

undefined方法`permit'表示"立即提交!":字符串.我哪里错了?

我一直在努力尝试permit使用其他一些StackOverflow帖子来解决这个错误,但似乎无法超越它.我有一个项目模型和控制器以及版本模型和控制器. Projects/##/versions/new是一个表单页面,用于创建项目ID ##的新版本.但是当我单击提交按钮来创建版本时......它会在以下错误中引发以下错误VersionsController:

undefined method `permit' for "Submit Now! ":String

Extracted source (around line #36):
34
35
36
37
38


    def version_params
      params.require(:version).permit(:title)
    end
end
Run Code Online (Sandbox Code Playgroud)

任何和所有的帮助将不胜感激...我一直在努力解决这个问题太久了.我的守则如下:

的routes.rb

resources :users
  resources :sessions, only: [:new, :create, :destroy]
  resources :projects, only: [:create, :new, :show, :edit, :update, :destroy]

  resources :projects do
    resources :versions
  end

  # get "static_pages/home"
  # get "static_pages/help"
  # get "static_pages/about"
  #The original routes above map to...
  root  'static_pages#home'
  match '/signup',  to: 'users#new',            via: 'get'
  match '/signin', …
Run Code Online (Sandbox Code Playgroud)

error-handling strong-parameters ruby-on-rails-4

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