标签: reverse

php:将数字转换为字母,反之亦然

所以我有这个功能:

function toAlpha($data){
    $alphabet =   array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
    $alpha_flip = array_flip($alphabet);
    if($data <= 25){
      return $alphabet[$data];
    }
    elseif($data > 25){
      $dividend = ($data + 1);
      $alpha = '';
      $modulo;
      while ($dividend > 0){
        $modulo = ($dividend - 1) % 26;
        $alpha = $alphabet[$modulo] . $alpha;
        $dividend = floor((($dividend - $modulo) / 26));
      } 
      return $alpha;
    }
}
Run Code Online (Sandbox Code Playgroud)

给出一个数字将其转换为字符,它工作正常

但是我还想要一个这样的反向函数,给定这个函数的任何输出,返回输入的确切输入以产生该输出,我试过这个:

function toNum($data){
$alphabet =   array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
    $alpha_flip = array_flip($alphabet);
  if(strlen($data) == 1){
          return (isset($alpha_flip[$data]) ? $alpha_flip[$data] : FALSE);
        }
        else if(strlen($data) > 1){
          $num …
Run Code Online (Sandbox Code Playgroud)

php string math reverse function

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

列表的最后一个元素的值

如何获取List的最后一个元素的值?我注意到List.hd(或.Head)返回一个项目,而List.tl(或.Tail)返回一个List.

转发列表并获得高清唯一的方法吗?谢谢.

f# reverse list tail

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

Python只枚举反向索引

我试图扭转所给出的索引,enumerate同时保留列举的列表的原始顺序.

假设我有以下内容:

>> range(5)
[0, 1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)

如果我列举这个,我会得到以下内容:

>> list(enumerate(range(5)))
[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4)]
Run Code Online (Sandbox Code Playgroud)

但是我想要反转枚举提供的索引,以便得到:

[(4, 0), (3, 1), (2, 2), (1, 3), (0, 4)]
Run Code Online (Sandbox Code Playgroud)

到目前为止,我有以下代码:

reversed(list(enumerate(reversed(range(5)))))
Run Code Online (Sandbox Code Playgroud)

我只是想知道是否有更简洁的方法来做到这一点?

python reverse enumerate python-3.x

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

RecyclerView在插入时滚动

我想用来RecyclerView创建一个聊天应用程序.我使用的是LinearLayoutManagersetReverseLayout(true).

当我一直滚动到底部(这是数据集start =最新消息)并且新消息被插入到数据集中时,该项目按预期显示在列表的底部(视图向上滚动以腾出空间)对于新项目).

我遇到的问题是当我向上滚动以查看较旧的消息时.当新消息插入到数据集的开头时,视图向上滚动大约一个消息高度,即使该消息甚至没有呈现,因为它超出了视口的范围.

当视图滚动到底部时,如何保持滚动行为,但在滚动到较旧的消息时禁用它?

更新: 我还制作了一个小应用程序,重现了这个问题:https: //github.com/ehehhh/RecyclerViewProblem

更新2:我提交的修复工作也适用于我制作的回购.

相关代码(希望如此):

compile 'com.android.support:recyclerview-v7:24.2.0'
Run Code Online (Sandbox Code Playgroud)

XML:

<android.support.v7.widget.RecyclerView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:clipToPadding="false"
            android:paddingBottom="8dp"
            android:paddingTop="8dp"
            app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
Run Code Online (Sandbox Code Playgroud)

RecyclerView初始化代码:

layoutManager = new LinearLayoutManager(context);
layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
layoutManager.setReverseLayout(true);
recyclerView.setLayoutManager(layoutManager);
recyclerView.setScrollContainer(true);
recyclerView.setLayoutAnimation(null);
recyclerView.setItemAnimator(null);
adapter = new ChatAdapter(...);
recyclerView.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)

适配器:

public class ChatAdapter extends RecyclerView.Adapter<ChatViewHolder> {

    private List<MessageWrapper> dataset;

    public ChatAdapter(List<MessageWrapper> dataset, ...) {
        this.dataset = dataset;
        setHasStableIds(true);
    }

    ...

    @Override
    public long getItemId(int position) {
        return dataset.get(position).getId();
    }

    @Override …
Run Code Online (Sandbox Code Playgroud)

reverse android chat android-recyclerview linearlayoutmanager

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

Python反向生成器

我正在寻找一种方法来反转生成器对象.我知道如何反转序列:

foo = imap(seq.__getitem__, xrange(len(seq)-1, -1, -1))
Run Code Online (Sandbox Code Playgroud)

但是,作为输入的发生器和输出的反向发生器(len(seq)保持不变,可以使用原始序列中的值)可能类似吗?

python reverse generator

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

Python列表错误:[: - 1]踩到[:-1]切片

我以为我理解了python中列表切片的基础知识,但是在切片上使用负步骤时收到了意外错误,如下所示:

>>> a = list(range(10))
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a[:-1]
[0, 1, 2, 3, 4, 5, 6, 7, 8]
>>> a[::-1]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>> a[:-1:-1]
[]
Run Code Online (Sandbox Code Playgroud)

(请注意,这是在Python 3.5中运行)

为什么[: - 1:-1]不会以与使用[:: - 1]的整个列表相同的方式反向遍历a [: - 1]切片?

我意识到你也可以使用list.reverse(),但试图更好地理解底层的python切片功能.

python reverse slice

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

根据页面呈现顺序反转z-index

示例标记:

<div class="wrapper">
    <h2>Trigger</h2>
    <div>This is some content</div>
</div>
<div class="wrapper">
    <h2>Trigger</h2>
    <div>This is some content</div>
</div>
<div class="wrapper">
    <h2>Trigger</h2>
    <div>This is some content</div>
</div> 
Run Code Online (Sandbox Code Playgroud)

CSS示例:

.wrapper {z-index: 1}
.wrapper div {display: none; position: absolute;}
Run Code Online (Sandbox Code Playgroud)

通过javascript(jQuery)我将一个click事件附加到每个h2,然后将内容div切换为display:block.

目的是这些是可扩展的内容块,将与页面上的任何其他内容重叠.

问题是,我希望第一个与第二个重叠,如果所有这些都打开,它将与第三个重叠.

但是,由于每一个都在前一个渲染之后渲染,因此实际的堆叠顺序是相反的(最后一个内容div创建的结尾覆盖了先前创建的一次).

有没有一种聪明的方法来逆转CSS/HTML的这种行为?或者是让页面呈现的解决方案,然后通过javascript,按顺序获取所有内容div并以相反的顺序给它们每个z-index?

更新:

这是一些更具体的标记:

<div style="padding: 10px;">Hello World
    <div style="position: relative; top: -5px;">
        <div style="position: absolute; background: yellow;"><p>This</p><p>is</p><p>overlapping</p></div>
    </div>
</div>
<div style="padding: 10px;">Hello World
    <div style="position: relative; top: -5px;">
        <div style="position: absolute; background: orange;"><p>This</p><p>is</p><p>overlapping</p></div>
    </div>
</div>
<div style="padding: 10px;">Hello World
    <div style="position: …
Run Code Online (Sandbox Code Playgroud)

reverse z-index overlap

16
推荐指数
3
解决办法
9360
查看次数

链表反递

我在stanford库中查看下面的代码:

void recursiveReverse(struct node** head_ref)
{
    struct node* first;
    struct node* rest;

    /* empty list */
    if (*head_ref == NULL)
       return;  

    /* suppose first = {1, 2, 3}, rest = {2, 3} */
    first = *head_ref;
    rest  = first->next;

    /* List has only one node */
    if (rest == NULL)
       return;  

    /* put the first element on the end of the list */
    recursiveReverse(&rest);
    first->next->next  = first; 

    /* tricky step -- see the diagram */
    first->next  = NULL;         

    /* fix …
Run Code Online (Sandbox Code Playgroud)

c algorithm recursion reverse linked-list

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

模板中的Django反向查询

我有这样的模特

class Blog(models.Model):
    name = models.CharField(max_length=100)
    tagline = models.TextField()

    def __unicode__(self):
        return self.name

class Entry(models.Model):
    blog = models.ForeignKey(Blog)
    headline = models.CharField(max_length=255)
Run Code Online (Sandbox Code Playgroud)

我想列出页面中的所有博客.我写了一个这样的观点

def listAllBlogs(request):
    blogs= Blog.objects.all()
    return object_list(
        request,
        blogs,
        template_object_name = "blog",
        allow_empty = True,
        )
Run Code Online (Sandbox Code Playgroud)

并且能在视野中显示博客的标语

{% extends "base.html" %}
{% block title %}{% endblock %}
{% block extrahead %}

{% endblock %}

{% block content %}
     {% for blog in blog_list %}
          {{ blog.tagline }}
     {% endfor %}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

但我想表明,这样的事情,blog__entry__name但我不知道我怎么能在模板中实现这一点.此外,博客中可能没有条目.如何在模板中检测?

谢谢

django reverse

16
推荐指数
2
解决办法
9397
查看次数

反向DataFrame列顺序

我想简单地反转给定DataFrame的列顺序.

我的DataFrame:

data = {'year': [2010, 2011, 2012, 2011, 2012, 2010, 2011, 2012],
    'team': ['Bears', 'Bears', 'Bears', 'Packers', 'Packers', 'Lions', 'Lions', 'Lions'],
    'wins': [11, 8, 10, 15, 11, 6, 10, 4],
    'losses': [5, 8, 6, 1, 5, 10, 6, 12]}
football = pd.DataFrame(data, columns=['year', 'team', 'wins', 'losses'])
Run Code Online (Sandbox Code Playgroud)

实际产量:

   year     team  wins  losses
0  2010    Bears    11       5
1  2011    Bears     8       8
2  2012    Bears    10       6
3  2011  Packers    15       1
4  2012  Packers    11       5
5  2010    Lions …
Run Code Online (Sandbox Code Playgroud)

python reverse dataframe pandas

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