我正在学习脚本语言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,我都在增加列表大小,所以迭代应该永远正确吗?
我熟悉强弱类型.我也知道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.
当我尝试以下操作时,我自己就会出错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)
这不是印刷tuple的seq应该是([1,2,3],[4,5,6]).
我正在我的大学学习系统工具和架构课程,第一堂课是关于如何CPU和RAM谈话以及CPU如何处理数据.正如教授所解释的,CPU有一个ALU (Arithmetic Logic unit)执行算术,如添加和比较.但他没有解释它是如何做到的.
所以我做了一些搜索,发现这个链接指向一个youtube视频,解释了如何执行添加 - 很好地为初学者解释.甚至这个链接也解释了CPU指向算术处理ALU但不处理如何ALU执行它.
我的问题是怎么样ALU呢comparison.作为人类,我们知道5小于7.但是如何ALU知道这一点,它是否在某种程度上是硬编码的.我确信它必须使用一些logic进行比较,这是什么逻辑.
很高兴知道这是如何成为CS的主要工作
我想只获取文件中的行数:所以我这样做:
$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打印数字
在这个例子中,我想 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) 我在玩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
在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) 我从这篇文章中发现了以下内容:
create table posts(username varchar, time timeuuid, post_text varchar, primary key(username, time))
Run Code Online (Sandbox Code Playgroud)
CF 行的数量与主键中第一个元素的变体数量相同。如果该元素的基数非常低,这可能会成为一个问题,因为最终可能会得到非常宽的 CF 行。
我的观点是:
我上面加粗的内容不应该是主键中的第二个元素。也就是说,次要元素或聚类元素导致宽行正确吗?
我有以下代码,并想知道是否有更简单的方法来做到这一点.我正在创建一个元组列表,它包含字符串中的字母和列表中的相应数字.这里是
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) 我正在阅读集合以查看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和实现类可能以及实现这样的方法?
我希望有可以点击的侧面下拉菜单.将鼠标悬停在列表项上时,该列表项具有任何嵌套的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)