小编Meh*_*far的帖子

BottomNavigationBar 页面更改导致 StreamBuilder 数据重新加载

BottomNavigation我有 2 页。第一页从网络加载数据并显示在 SliverList 和显示静态列表数据的另一个页面中。

从第 1 页移动到第 2 页然后第 1 页后,所有网络数据都消失了。我已经使用了 PageStorageKey,但仍然无法正常工作。但第二页从未重新加载。

为什么第一页没有保存其具有 StreamBuilder 的状态?

我的代码:

底部导航页面:

class MainActivity extends StatefulWidget {
  @override
  _MainActivityState createState() => _MainActivityState();
}

class _MainActivityState extends State<MainActivity> {

  final Key keyHome = PageStorageKey('pageHome');
  final Key keyChat = PageStorageKey('pageChat');

  int currentTab = 0;

  HomePage home;
  Chat chat;
  List<Widget> pages;
  Widget currentPage;

  final PageStorageBucket bucket = PageStorageBucket();
  @override
  void initState(){
    home = HomePage(

      key: keyHome,
    );
    chat = Chat(
      key: keyChat,
    );
    pages = …
Run Code Online (Sandbox Code Playgroud)

flutter bloc

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

如何在python中基于数组的子集列表

我在列表中有以下列名:

 vars = ['age','balance','day','duration','campaign','pdays','previous','job_admin.','job_blue-collar']
Run Code Online (Sandbox Code Playgroud)

我有一个由数组索引组成的数组

(array([1, 5, 7], dtype=int64),)
Run Code Online (Sandbox Code Playgroud)

我想基于数组索引对列表进行子集化

期望的输出应该是

vars = ['balance','pdays','job_admin.']
Run Code Online (Sandbox Code Playgroud)

我在python中尝试过类似的东西

for i, a in enumerate(X):
   if i in new_L:
       print i
Run Code Online (Sandbox Code Playgroud)

但是,它不起作用.

python list python-2.7

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

如何获取字典键和值

想象一下我有一个dict这样的:

d = {'key': 'value'}
Run Code Online (Sandbox Code Playgroud)

dict只包含一个键值。我试图让key从这个dict,我试过d.keys()[0],但它返回IndexError,我尝试这样做:

list(d.keys())[0]
Run Code Online (Sandbox Code Playgroud)

它工作得很好,但我认为这不是一个好方法,因为它创建了一个新列表,然后首先获取它的索引。
有一个更好的方法吗?我也想value

python dictionary python-3.x

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

我试图在一个句子中找到最大长度的单词

我试图在一个句子中找到最大长度的单词,比如

a = "my name is john and i am working in STACKOVERFLOWLIMITED"

要获取这句话中最大的单词,我正在尝试类似的东西

c = a.split(',')

c = ['my', 'name', 'is', 'john', 'and', 'i', 'am', 'working', 'in', 'STACKOVERFLOWLIMITED']

当我试图打印max(C)

output - 'working'

为什么输出中不包含"STACKOVERFLOWLIMITED"作为该句中最长的单词?

python string max

3
推荐指数
1
解决办法
79
查看次数

如何删除分配给变量的对象?

我有以下代码:

class Node:
  def __init__(self, item):
    self.item = item  

node1 = Node(12)
cur = node1
Run Code Online (Sandbox Code Playgroud)

是否可以node1使用删除cur

我试过了,del cur但它没有给出想要的结果,cur现在不再存在,但node1仍然存在。

任何帮助表示赞赏。

python instance del python-3.x

3
推荐指数
1
解决办法
556
查看次数

AtributteError"对象没有属性" - 如何防止没有try/except - 访问模型字段

我有一个问题:(我正在研究Django 1.8,Python 2.7.15)我从数据库中获取了一个对象:

shop_users = ShopUsers.objects.get(pk=_id)
Run Code Online (Sandbox Code Playgroud)

然后,如果对象存在,我正在为View准备数据:

if shop_users:
    data = {
        'full_name': shop_users.full_name,
        'shop': shop_users.shop.title,
        'price_title': shop_users.price.title if shop_users.price.title else '',
        'package_price': shop_users.price.price,
        'user_price': shop_users.payment.operation_amount
    }
Run Code Online (Sandbox Code Playgroud)

但是shop_users.price.title可能不存在.

我想在我准备上面的数据时检查它(我正在做'...如果......其他'),但如果shop_users.price.title不存在则提供AttributeError.

我可以在'data'声明之前使用try/except但这会使我的代码加倍...

有没有处理AttributeError的技巧(... if ... else)?

也许shop_users.price.title [0](不起作用)

或者获取(shop_users.price.title)?

我只是不想加倍我的代码...但我不知道任何诀窍:/

我很年轻.我感谢任何帮助!

python django attributes nested-attributes

3
推荐指数
1
解决办法
1038
查看次数

if-else里面的for循环不能在python中工作

我正在if-else通过从文本文件中逐行读取输入来编写一个简单的Python脚本,其中包含for循环中的条件.下面是我的脚本.我应该得到预期的输出.请帮忙!我的env.txt包含:

DEV01
DEV02
UAT01
UAT02
Run Code Online (Sandbox Code Playgroud)

这是代码:

with open("env.txt") as envnames:
    for eachenv in envnames:
        if eachenv=="DEV01" or "DEV02":
            eachenv="dev"
            print (eachenv)
        elif eachenv=="UAT01" or "UAT02":
            eachenv="uat"
            print(eachenv)
        else :
            print('')
Run Code Online (Sandbox Code Playgroud)

预期:

dev
dev
uat
uat
Run Code Online (Sandbox Code Playgroud)

实际:

dev
dev
dev
dev
Run Code Online (Sandbox Code Playgroud)

python for-loop if-statement file

3
推荐指数
1
解决办法
59
查看次数

如何按字符串拆分列表

我有几个大的字符串列表.我需要将所有这些列表分成两个列表,以便我只保留第二个列表.例如:

lst = ['This is a list', 'of strings', 'blahblahblah', 'split_here', 'something else', 'we like cake', 'aardvarks']
Run Code Online (Sandbox Code Playgroud)

我想在'split_here'之后只抓取字符串,这样新的列表将是这样的:

new_lst = ['something else', 'we like cake', 'aardvarks']
Run Code Online (Sandbox Code Playgroud)

我试过这个:

new_list = str(lst).split('split_here')[1]
Run Code Online (Sandbox Code Playgroud)

但新输出有一堆转义字符("\"符号).我尝试用以下代替它们:

.replace('\\', '')
Run Code Online (Sandbox Code Playgroud)

但这也不起作用.

我想我必须有一个简单的方法来做到这一点.

python string split list

3
推荐指数
1
解决办法
85
查看次数

删除字符串python中的空格和破折号

我有一个字符串,想要删除所有空格、破折号和下划线...我想要输出的是字符串 A 到 Z 和 0 到 9。我的版本是 Python3 例如:

输入:

fafaf fadfa fafa fa-fa faf_afa@gs!
Run Code Online (Sandbox Code Playgroud)

输出:

fafaffadfafafafafafafafags
Run Code Online (Sandbox Code Playgroud)

我应该怎么办?谢谢

python string python-3.x

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

如何将DataFrame的列和值转换为一个列表?

我需要将 DataFrame 转换为列表,并将其标题保存为列表中的第一项。我想其中一种方法是分别转换列和值,然后加入这些列表。但还有更好的办法吗?

数据框,

import pandas as pd
df=pd.DataFrame({"Sales QTY":[10,20,30,40],
                 "Sales Person":['Jack', 'Adam', 'Ken', 'Jack'],
                 "Product":["Apple", "Orange","Apple","Cherry"]
                 })
Run Code Online (Sandbox Code Playgroud)

期望的输出

[['Sales QTY', 'Sales Person', 'Product'],
  [10, 'Jack', 'Apple'],
 [20, 'Adam', 'Orange'],
 [30, 'Ken', 'Apple'],
 [40, 'Jack', 'Cherry']]
Run Code Online (Sandbox Code Playgroud)

python list dataframe pandas

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