所以我有这个功能:
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) 如何获取List的最后一个元素的值?我注意到List.hd(或.Head)返回一个项目,而List.tl(或.Tail)返回一个List.
转发列表并获得高清唯一的方法吗?谢谢.
我试图扭转所给出的索引,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)
我只是想知道是否有更简洁的方法来做到这一点?
我想用来RecyclerView创建一个聊天应用程序.我使用的是LinearLayoutManager用setReverseLayout(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
我正在寻找一种方法来反转生成器对象.我知道如何反转序列:
foo = imap(seq.__getitem__, xrange(len(seq)-1, -1, -1))
Run Code Online (Sandbox Code Playgroud)
但是,作为输入的发生器和输出的反向发生器(len(seq)保持不变,可以使用原始序列中的值)可能类似吗?
我以为我理解了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切片功能.
示例标记:
<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) 我在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) 我有这样的模特
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但我不知道我怎么能在模板中实现这一点.此外,博客中可能没有条目.如何在模板中检测?
谢谢
我想简单地反转给定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)