小编eag*_*arn的帖子

为什么列表在python和Java中表现不同?

我正在学习脚本语言python.我非常了解Java.我试图将一些代码从Java翻译成python.但是它们表现不正常(或者我的理解可能完全错误)我在Java中有以下代码,我将无限期地向ArrayList添加元素.所以这会导致outofmemory错误,我期望:

import java.util.*;
public class Testing{
public static void main(String[] args){
        ArrayList<Integer> list = new ArrayList<Integer>();
        list.add(5);
        list.add(4);
        for (int i=0;i<list.size();i++){
            list.add(5);
        }
}
}
Run Code Online (Sandbox Code Playgroud)

现在在python中翻译相同的代码:

lst = []
lst.append(5)
lst.append(4)
for i in range(len(lst)):
    lst.append(5)
print lst
Run Code Online (Sandbox Code Playgroud)

在这里我得到输出: [5, 4, 5, 5]

从我看到的,是不是作为forpython循环的引用传递的列表?

同样在这里,

>>> l=[1,2,3]
>>> for i in l[:]:
...    l.append(4)
...    print l
... 
[1, 2, 3, 4]
[1, 2, 3, 4, 4]
[1, 2, 3, 4, 4, 4]
Run Code Online (Sandbox Code Playgroud)

在循环内的每次迭代中for,我都在增加列表大小,所以迭代应该永远正确吗?

python java arrays for-loop list

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

是Java弱类型,因为这个例子演示了与python相比时?

我熟悉强弱类型.我也知道Java是强类型的.现在我学习python,它是一种强大的类型语言.但现在我看到python比Java更"强"类型.举例说明

public class StringConcat {

  public static void main(String[] args) {
      String s="hello ";
      s+=4;
    System.out.println(s);
}
}
Run Code Online (Sandbox Code Playgroud)

没有错误并打印你好4

在python中

>>> x="hello"
>>> x+=4
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects
Run Code Online (Sandbox Code Playgroud)

所以这个例子演示了python是强类型的.除非Java引擎盖下,做一些操作将int转换为String并执行String concat.

python java string string-concatenation strong-typing

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

在python中使用函数中的varargs传递默认参数

当我尝试以下操作时,我自己就会出错function definition.

>>> def mymap(*seq,pad=None):
  File "<stdin>", line 1
    def mymap(*seq,pad=None):
   SyntaxError: invalid syntax 
Run Code Online (Sandbox Code Playgroud)

我试图给参数的默认值pad.

但后来,我尝试了这个并且它有效(出于错误的原因):

>>> def mymap(pad=None,*seq):
...    print seq
>>> mymap([1,2,3],[4,5,6])
([4, 5, 6],)
[(4,)]
>>> 
Run Code Online (Sandbox Code Playgroud)

这不是印刷tupleseq应该是([1,2,3],[4,5,6]).

python function variadic-functions default-parameters

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

算术逻辑单元如何知道比较的逻辑?

我正在我的大学学习系统工具和架构课程,第一堂课是关于如何CPURAM谈话以及CPU如何处理数据.正如教授所解释的,CPU有一个ALU (Arithmetic Logic unit)执行算术,如添加和比较.但他没有解释它是如何做到的.

所以我做了一些搜索,发现这个链接指向一个youtube视频,解释了如何执行添加 - 很好地为初学者解释.甚至这个链接也解释了CPU指向算术处理ALU但不处理如何ALU执行它.

我的问题是怎么样ALUcomparison.作为人类,我们知道5小于7.但是如何ALU知道这一点,它是否在某种程度上是硬编码的.我确信它必须使用一些logic进行比较,这是什么逻辑.

很高兴知道这是如何成为CS的主要工作

architecture cpu ram logic alu

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

在bash中使用cut命令

我想只获取文件中的行数:所以我这样做:

$wc -l countlines.py 
   9 countlines.py
Run Code Online (Sandbox Code Playgroud)

我不想要文件名,所以我试过了

$wc -l countlines.py | cut -d ' ' -f1
Run Code Online (Sandbox Code Playgroud)

但这只是回声空行.

我只想要9打印数字

bash cut wc

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

如何在stthon中将std.error写入文件,但将std.out写入控制台?

在这个例子中,我想 write在控制台(std.out)try block; 但是当抛出异常时except block,我想编写std.err重定向到日志的异常内容file.

我可以file打开一个except块然后write打开它.但是需要为每个try-catch块完成,所以如果有re-directing这些异常的替代方法std.err并记录std.error.

>>> try:
...   print "hello world"
...   1/0
... except ZeroDivisionError as e:
...   print "exception"
... 
hello world
exception
Run Code Online (Sandbox Code Playgroud)

python exception try-catch stderr

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

在python解释器中打印unicode字符

我在玩unicode蟒蛇游戏.我不能print (display)unicode charactersé 我试过如下:

>>> sys.setdefaultencoding('UTF8')
>>> chr(0xFF)
'\xff'
>>> u = u'abcdé'
>>> len(u)
5
>>> u[4]  
u'\xe9'
>>> str(u[4])
'\xc3\xa9'
>>>     
Run Code Online (Sandbox Code Playgroud)

我期待u[4]打印,é但它打印u'\xe9'.我该怎么做才能做到这一点?我在用python 2.7.2 version

python unicode

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

如何增加Django模板中显示的年份范围?

signUp我创建的形式中,我预先填充date-of-birth field到"昨天".但是这一scroll down menu年仅限于9年.我怎样才能增加出现的年数.它不能受到限制.我附上了图片.你可以看到这option to choose九年中只有一个.任何想法如何解决这一问题?

signups/forms.py:

from django import forms
from signups.models import SignUp
import datetime
from django.forms.extras.widgets import SelectDateWidget

def yesterday():
    yesterday = (datetime.date.today() - datetime.timedelta(1))
    return yesterday

class SignUpForm(forms.ModelForm):
    date_of_birth = forms.DateField(widget=SelectDateWidget(), initial=yesterday)
    class Meta:
        model=SignUp
Run Code Online (Sandbox Code Playgroud)

signups/models.py:

from django.db import models 
from django.utils.encoding import smart_unicode
from blogapp.models import Post


class SignUp(models.Model):
    #null in database
    first_name=models.CharField(max_length=100,null=True,blank=True)
    last_name=models.CharField(max_length=100,null=True,blank=True)
    #default is null=false, blank=false, email is necessary
    email=models.EmailField(unique=True)
    #when created make timestamp but …
Run Code Online (Sandbox Code Playgroud)

django django-templates django-models django-forms

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

是什么导致卡桑德拉宽行?

我从这篇文章中发现了以下内容:

create table posts(username varchar, time timeuuid, post_text varchar, primary key(username, time))
Run Code Online (Sandbox Code Playgroud)

CF 行的数量与主键中第一个元素的变体数量相同。如果该元素的基数非常低,这可能会成为一个问题,因为最终可能会得到非常宽的 CF 行。

我的观点是:

我上面加粗的内容不应该是主键中的第二个元素。也就是说,次要元素或聚类元素导致宽行正确吗?

cassandra-2.0

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

在python中为代码压缩代码或单行代码

我有以下代码,并想知道是否有更简单的方法来做到这一点.我正在创建一个元组列表,它包含字符串中的字母和列表中的相应数字.这里是

s="hello"
lst=[1,2,3,4,5]
res = []
for i in range(len(lst)):
    res.append((s[i],lst[i]))
print res
Run Code Online (Sandbox Code Playgroud)

输出在这里是正确的.如果可能的话,我正在寻找精简版

[('h', 1), ('e', 2), ('l', 3), ('l', 4), ('o', 5)]
Run Code Online (Sandbox Code Playgroud)

python tuples list

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

java.util.Collections和java.util.Collection在Java中有任何关系吗?

我正在阅读集合以查看Javadocs的实现层次结构.

Collections 被宣布为 public class Collections extendds Object

Collection<E> 被宣布为 public interface Collection<E> extends Iterable<E>

AbstractCollection 被宣布为 public abstract class AbstractCollection<E> implements Collection<E>

AbstractList 被宣布为 public abstract class AbstractList<E> extends AbstractCollection<E> implements List<E>

我的问题是1)之间是否存在任何联系Collections and Collection.我什么都没看到extending Collections Class

2)什么是需要AbstractList一流的,因为在实现的方法AbstractList,如类listIterator可能以及在抽象List Interface和实现类可能以及实现这样的方法?

java collections interface list

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

使用bootstrap 3或css悬停的侧面下拉菜单?

我希望有可以点击的侧面下拉菜单.将鼠标悬停在列表项上时,该列表项具有任何嵌套的li项,它将显示出来.这是我目前的代码.您可以将其粘贴到http://www.bootply.com/中以查看它的外观.目前非常糟糕.它同时显示所有内容.甚至其中一个项目隐藏在另一个列表项目后面.我试着关注这篇文章.但我无法让它发挥作用.我在我的HTML中使用bootstrap 3.所以如果有办法用bootstrap3做,那也没关系.

这是我的html结尾的内联css:

<div class="col-xs-6 col-sm-3 sidebar-offcanvas" id="sidebar" role="navigation">
          <div class="list-group">


              <li id="settings" class="list-group-item">toyota highlander 
              <ul id="test">

                <li><a href="/search/57/atlanta/">atlanta</a></li>

                <li><a href="/search/57/austin/">austin</a></li>

                <li><a href="/search/57/boston/">boston</a></li>

                <li><a href="/search/57/chicago/">chicago</a></li>

                <li><a href="/search/57/seattle/">seattle</a></li>

              </ul>
            </li>




            <li><a href="/search/56" class="list-group-item  ">honda fit </a></li>



              <li id="settings" class="list-group-item  ">ford explorer 
              <ul id="test">

                <li><a href="/search/54/raleigh/">raleigh</a></li>

                <li><a href="/search/54/sacramento/">sacramento</a></li>

                <li><a href="/search/54/sandiego/">sandiego</a></li>

                <li><a href="/search/54/seattle/">seattle</a></li>

              </ul>
            </li>



          </div>
        </div><!--/span-->
      </div><!--/row-->

<style>
  li#settings {
                  position:absolute;
                  overflow: visible;
                }

                li#settings:hover > ul {
                  cursor:pointer;
                  display:block;

                }
                ul#test {
                  display: none;
                  white-space: nowrap;
                  list-style: …
Run Code Online (Sandbox Code Playgroud)

html css drop-down-menu twitter-bootstrap-3

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