小编Sky*_*lue的帖子

以多种方式合并2个列表 - Python

我一直在尝试一些技术,但我确信这是完成这项工作的顺利方法.

假设我有两个列表,其中包含相同数量的项目(每个4个):

a = ['a', 'b', 'c', 'd']    
b = [1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)

我想在保留订单的同时以所有可能的方式合并这些列表.示例输出:

a, b, c, d, 1, 2, 3, 4    
1, 2, 3, 4, a, b, c, d    
a, b, 1, 2, c, 3, 4, d
Run Code Online (Sandbox Code Playgroud)

关键是每个列表必须保留其顺序,因此考虑到它在列表中的位置,项目不能在输出中的另一个项目之前.所以例如输出不能是:

a, b, **d**, c, 1...   > d precedes c whereas c is before d in the original list
1, **4**, a, b, 3....  > 4 precedes 3 whereas 3 is before 4 in the original list
Run Code Online (Sandbox Code Playgroud)

我想这个想法是以所有可能的方式将第二个列表合并到第一个列表中.一个完全有效的例子是这样的:

a = [a, …
Run Code Online (Sandbox Code Playgroud)

python combinations list permutation

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

将字符串附加到Service Worker中的用户代理

我一直坚持这个问题一段时间了.我已经深入研究并花了很多时间在SO上查看类似的问题 - 但不成功.

一点背景.我有一个网站和一个Android应用程序有效地呈现不同形式的网站,具有不同的显示等...应用程序知道从传入的请求做到这一点 - 因为用户有一个特定的字符串附加到用户代理(让我们只是说, string是'MobileAppRequest').在用户代理中检测到该字符串后,服务器知道返回不同的html文件.这允许用户仍然可以访问他们的浏览器上的网站并使用网络版本以及从他们的Android应用程序获得应用程序体验.

现在,在使用服务工作者时,它默认为用户的标准用户代理,而不包括应用程序中的附加字符串.然后,这将返回应用程序中的Web版本,这会将其全部搞砸.我需要知道如何设置自定义标头,或者确实将字符串附加到服务工作者中的用户代理.它说当我尝试直接更改它时标题是不可变的但我知道解决这个问题的方法是将新请求作为响应.

这是我的SW.js

var CACHE_STATIC_NAME = 'static-v10';
var CACHE_DYNAMIC_NAME = 'dynamic-v2';

self.addEventListener('install', function (event) {
  console.log('[Service Worker] Installing Service Worker ...', event);
  event.waitUntil(
    caches.open(CACHE_STATIC_NAME)
      .then(function (cache) {
        console.log('[Service Worker] Precaching App Shell');
        cache.addAll([
          '/',
          '/static/media/next.png',
          '/static/media/previous.png'
        ]);
      })
  )
});

self.addEventListener('activate', function (event) {
  console.log('[Service Worker] Activating Service Worker ....', event);
  event.waitUntil(
    caches.keys()
      .then(function (keyList) {
        return Promise.all(keyList.map(function (key) {
          if (key !== CACHE_STATIC_NAME && key !== CACHE_DYNAMIC_NAME) {
            console.log('[Service Worker] Removing old cache.', …
Run Code Online (Sandbox Code Playgroud)

javascript browser-cache service-worker

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

几天不活动后,Django Allauth似乎注销了用户

用户登录时,我希望用户无限期保持登录状态,除非他们自己提示退出。

我的网站(使用django-allauth进行身份验证)的情况似乎是,当用户登录然后几天不访问该网站(尚未测试多少天)时,它丢失了身份验证,并且它们不再登录。

我希望身份验证状态是永久的,并且不会过期。

有人可以解释一下,告诉我如何实现我想要的。

尝试调查会话Cookie的到期时间并研究默认值。还没走。

python authentication django django-allauth

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

如何选择Chrome扩展程序以在使用Selenium时启用

我使用Selenium网络驱动程序开发使用Chrome作为浏览器的自动化测试.我正在使用Python.

当Selenium打开Chrome时,我的Chrome浏览器上有一个扩展程序.问题是,当Selenium打开Chrome时,默认情况下会禁用所有扩展程序.

当Selenium运行时,如何在Chrome浏览器上启用所有或某个扩展程序?

python selenium webdriver web-testing google-chrome-extension

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