小编slo*_*oth的帖子

移动值但保留Python列表中的顺序

我有一份清单

a=[1,2,3,4,5]
Run Code Online (Sandbox Code Playgroud)

并希望"移动"它的值,以便它变成

a=[2,3,4,5,1]
Run Code Online (Sandbox Code Playgroud)

和下一步

a=[3,4,5,1,2]
Run Code Online (Sandbox Code Playgroud)

Python中是否有内置函数来做到这一点?

或者有更短或更好的方式

b=[a[-1]]; b.extend(a[:-1]); a=b
Run Code Online (Sandbox Code Playgroud)

python list

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

你如何在python中验证duck-typed接口?

class ITestType(object):
  """ Sample interface type """

  __metaclass__ = ABCMeta

  @abstractmethod
  def requiredCall(self):
    return

class TestType1(object):
  """ Valid type? """
  def requiredCall(self):
    pass

class TestType2(ITestType):
  """ Valid type """
  def requiredCall(self):
    pass

class TestType3(ITestType):
  """ Invalid type """
  pass
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,issubclass(TypeType*, ITestType)对于2返回true,对于1和3返回false.

是否有另一种方法可以使用issubclass,或者一种替代方法进行接口测试,允许1 2通过,但拒绝3?

能够使用duck typing而不是将类显式绑定到抽象类型对我来说非常有帮助,但是当duck-typed对象通过特定接口时也允许对象检查.

是的,我知道python人不喜欢接口,标准方法是"在失败时找到它并将所有内容包装在异常中",但也与我的问题完全无关.不,我不能简单地不在这个项目中使用接口.

编辑:

完善!对于发现此问题的任何其他人,以下是如何使用subclasshook的示例:

class ITestType(object):
  """ Sample interface type """

  __metaclass__ = ABCMeta

  @abstractmethod
  def requiredCall(self):
    return

  @classmethod
  def __subclasshook__(cls, C):
    required = ["requiredCall"]
    rtn = True
    for r in required:
      if …
Run Code Online (Sandbox Code Playgroud)

python

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

将XML反序列化为对象时缺少子节点

我需要处理某些xml,无法从中反序列化对象列表.以下是xml:

<catalog>
<item>
    <id>18338517</id>
    <note label="Name ">Gear xyz</note>
    <note label="Size ">10</note>       
    <note label="Source">Store xyz</note>
    <relation weight="100">
        <type>External</type>
        <id>123</id>
        <name>Mcday</name>          
    </relation>
    <relation weight="99">
        <type>Internal</type>
        <id>234</id>
        <name>Mcnight</name>
    </relation>
</item>
    <item> ..... </item></catalog>
Run Code Online (Sandbox Code Playgroud)

以下是我的课

[XmlRoot("catalog")]
public class Catalog
{
    [XmlArray("item")]
    [XmlArrayItem("item", typeof(Item))]
    public Item[] item{ get; set; }
}

[XmlRoot("item")]
public class Item
{
    [XmlElement("id")]
    public string id { get; set; }

    [XmlArrayItem("note", typeof(Note))]
    public Note[] note { get; set; }

    [XmlArrayItem("relation", typeof(Relation))]
    public Relation[] relation { get; set; }
}

[Serializable]
public …
Run Code Online (Sandbox Code Playgroud)

.net c# xml

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

从已编译的bash脚本中检索纯文本脚本

前段时间,我为我的学校写了一些bash脚本.我认为"保护"它们会非常聪明,所以我将它们编译shc成二进制文件.几周后,我丢失了未编译的脚本,现在我只剩下我的二进制文件了.

有没有办法从shc生成的二进制文件中检索脚本?我查看了源代码,shc找到了一种没有运气反编译binarys的方法.

linux bash scripting compilation

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

在扭曲的python中使用stdio.StandardIO进行键盘输入

我对与我的多客户聊天服务器程序相关的扭曲python有疑问.

也就是说,当我们从键盘使用输入stdio.StandardIO时,当我们运行反应器时它存储在哪里?请有人给我答案,请..

python twisted keyboard-input

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

EaselJs中的错误

我正在使用Easeljs库.everthing在firefox和ie9中工作得很好,除了谷歌Chrome鼠标事件不会工作,我收到此错误"未捕获错误已发生.这很可能是由于使用本地或跨域图像读取画布像素数据的安全限制."

html5 html5-canvas easeljs

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

我可以在创建对象之前计算属性吗?在构造函数中?

在创建对象之前,我可以计算类中的属性数量吗?我可以在构造函数中执行此操作吗?

class MyClass
{  
    public string A { get; set; }
    public string B { get; set; }
    public string C { get; set; }

    public MyClass()
    {
        int count = //somehow count properties? => 3
    }
}
Run Code Online (Sandbox Code Playgroud)

谢谢

.net c# constructor properties

6
推荐指数
2
解决办法
7283
查看次数

pygame.time.set_timer混乱?

所以,我有一个问题,我不完全理解需要给定时器命令的事件,它不会说在网上任何地方,我搜索了几个小时.所以我只是使用了大多数人似乎使用的'USEREVENT + 1'.我不确定它是否正确,但我的计时器无法正常工作.我正确使用它吗?这是我的代码:

nyansecond=462346
nyanint=0
spin=0
aftin=452345

def nyanmusic(nyansecond,nyanint,spin):
    if nyanint == 0:
        nyansound.play()
        nyanint= 1
    elif nyanint == 1:
        nyansecond = pygame.time.set_timer(USEREVENT+1,7000)
    if nyansecond < 200 and spin == 1:
        spin = 0
        nyansecond = pygame.time.set_timer(USEREVENT+1,7000)
    elif nyansecond > 6500 and nyansecond < 100000 and spin == 0:
        spin = 1
        nyansoundm.play()

    return nyansecond,nyanint,spin
Run Code Online (Sandbox Code Playgroud)

然后我在我实现的第二页上将其定义为我的代码(工作正常).它运行nyansound,但在6.5秒(6500毫秒)后不运行nyansoundm.我正在制作这个程序,以帮助我学习python和pygame的基础知识,然后继续学习更复杂的东西.当我想听nyan cat或其他环状歌曲而不必去youtube并浪费宝贵的带宽时,我也可以使用它.不过不要担心.

哦,这是我放入循环的代码,虽然我不认为这太重要了:

#music
        nyansecond,nyanint,spin = nyanmusic(nyansecond,nyanint,spin)
Run Code Online (Sandbox Code Playgroud)

python pygame timer timing clock

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

使用Json.NET使用数组数组反序列化json字符串

string json = @"{
'symbol':'XX',
'column_names":["Date","Open","High","Low","Close","Volume"],
'data':[
['2014-01-02',25.78,25.82,25.47,25.79,31843697.0],
['2013-12-31',25.81,26.04,25.77,25.96,22809682.0]]}";

public class DailyData
{
    public string symbol { get; set; }
    public List<OneDay> data { get; set; }
}

public class OneDay
{
     public DateTime date { get; set; }
     public double open { get; set; }
     public double high { get; set; }
     public double low { get; set; }
     public double close { get; set; }
     public double volume { get; set; }
}

DailyData dd = JsonConvert.DeserializeObject<DailyData>(json);
Run Code Online (Sandbox Code Playgroud)

这是我的json字符串和类,我正在尝试将其反序列化 …

c# arrays json json.net

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

LINQ - 为匿名类型的只读属性赋值

我想从linq创建一个匿名类型.然后手动更改单个属性(status)的值,​​并将列表作为数据源提供给转发器.但是不要让我这样做因为它是只读的.有什么建议吗?

 var list = from c in db.Mesai
                   join s in db.MesaiTip on c.mesaiTipID equals s.ID
                   where c.iseAlimID == iseAlimID
                   select new
                   {
                       tarih = c.mesaiTarih,
                       mesaiTip = s.ad,
                       mesaiBaslangic = c.mesaiBaslangic,
                       mesaiBitis = c.mesaiBitis,
                       sure = c.sure,
                       condition = c.onaylandiMi,
                       status = c.status
                   };
 foreach (var item in list)
 {
     if (item.condition==null)
     {
          item.status == "Not Confirmed";
     }
 }
 rpCalisanMesai.DataSource = list.ToList();
 rpCalisanMesai.DataBind();
Run Code Online (Sandbox Code Playgroud)

c# linq asp.net anonymous-types

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