小编Ara*_*Fey的帖子

如何获取数字的最后 2 位数字(整数或小数)

我需要获取整数和小数的最后 2 位数字。

我正在使用number%100运算符来获取整数的最后 2 位数字。但是,当我在十进制上尝试相同的操作时出现错误。

有没有什么简单的方法可以做到,而无需转换为字符串并解析?

例子:

number = 1234.56789
Run Code Online (Sandbox Code Playgroud)

我需要得到89。

56789 % 100 = 89
Run Code Online (Sandbox Code Playgroud)

1234.56789 % 100 给出错误:

ValueError: invalid literal for int() with base 10
Run Code Online (Sandbox Code Playgroud)

更多例子:

number = 0.1 
Run Code Online (Sandbox Code Playgroud)

我需要得到0.1(带小数点)。

python python-3.x

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

访问列表中的特定字符

我有一个列表,我通读了:

    doc= open('text.txt')
    d=doc.readlines()
Run Code Online (Sandbox Code Playgroud)

但我需要转到第10000个字符并从那里读取接下来的300个字符.首先,你知道如何按字符方式阅读列表吗?谢谢!!

python

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

按键遍历字典和组项目列表

我有一些字典:

my_list = [
    {'name': 'AAA', 'date': '2018-05-14', 'price': 20.0},
    {'name': 'AAA', 'date': '2018-05-15', 'price': 22.0},
    {'name': 'AAA', 'date': '2018-05-16', 'price': 30.0},
    {'name': 'BBB', 'date': '2018-05-14', 'price': 15.0},
    {'name': 'BBB', 'date': '2018-05-15', 'price': 32.0}
    ]
Run Code Online (Sandbox Code Playgroud)

我的问题是如何遍历该列表以生成这种格式的列表?

parsed_list = [
    {'name': 'AAA', 'data': [['2018-05-14', 20.0], ['2018-05-15', 22.0], ['2018-05-16', 30.0]]},
    {'name': 'BBB', 'data': [['2018-05-14', 15.0], ['2018-05-15', 32.0]]}
    ]
Run Code Online (Sandbox Code Playgroud)

我尝试了此问题中描述的方法:Python:将字典中的列表项分组, 但是我需要不同的输出格式,因此我无法弄清楚需要更改的内容。

python grouping dictionary

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

一种在特定索引的空列表中插入值的方法

有没有一种方法可以将特定值插入到列表中的特定索引中。清单应完全为空

L = []
L.insert(2,177)
print(L)
Run Code Online (Sandbox Code Playgroud)

L应该给出L [,,2]的值

python list insert append extend

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

next()和list()中的每一个都使用不同的可变对象迭代生成器

def generator(dct):
    for i in range(3):
        dct['a'] = i
        yield dct

g = generator({'a': None})
next(g) # -> {'a': 0}
next(g) # -> {'a': 1}
next(g) # -> {'a': 2}

g = generator({'a': None})
list(g) # -> [{'a': 2}, {'a': 2}, {'a': 2}]
Run Code Online (Sandbox Code Playgroud)

next像我预期的那样迭代生成器.但是,list意外迭代.我认为它应该返回,[{'a': 0}, {'a': 1}, {'a': 2}]因为next迭代没有问题.

我想知道是什么让这个变化.

(我的环境:python 3.6.5,conda 4.5.4,Windows)

python

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

为什么pickle比np.save花费的时间长这么多?

我想保存一个dict或数组。

我尝试了 withnp.save和 with pickle,发现前者总是花费更少的时间。

我的实际数据要大得多,但为了演示目的,我在这里只展示了一小部分:

import numpy as np
#import numpy.array as array
import time
import pickle

b = {0: [np.array([0, 0, 0, 0])], 1: [np.array([1, 0, 0, 0]), np.array([0, 1, 0, 0]), np.array([0, 0, 1, 0]), np.array([0, 0, 0, 1]), np.array([-1,  0,  0,  0]), np.array([ 0, -1,  0,  0]), np.array([ 0,  0, -1,  0]), np.array([ 0,  0,  0, -1])], 2: [np.array([2, 0, 0, 0]), np.array([1, 1, 0, 0]), np.array([1, 0, 1, 0]), np.array([1, …
Run Code Online (Sandbox Code Playgroud)

python numpy save pickle

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

如何在python中打印元组列表中一列的所有值?

我有一个元组列表,称为list_out。我想访问列表中第二列的值(我想将acsses设置为“ 313”,“ 321”和“ 365”)。list_out正在:

list_out = [('2240', '313', {'Sign': 1}),
            ('2240', '321', {'Sign': 1}), 
            ('2240', '365', {'Sign': -1})]
Run Code Online (Sandbox Code Playgroud)

我用了 :

print (list_out[0])
Run Code Online (Sandbox Code Playgroud)

出:

('2240', '313', {'Sign': 1})
Run Code Online (Sandbox Code Playgroud)

然后我用:

print (list_out[0][1])
Run Code Online (Sandbox Code Playgroud)

出:

313
Run Code Online (Sandbox Code Playgroud)

上面的代码,返回列表中一行中第二列的值(仅'313')。我想访问所有行中第二列的值。请为我提出解决此问题的方法。

python tuples list

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

测试值是否在两个列表中的任何一个中

我的代码中有一个区域,用于检查一个列表中的项是否在其他两个列表中,并根据该区域返回结果.

显然,第一个IF子句始终为true,只返回该子句的结果.

这是一个例子:

from datetime import date

days = [date(2018, 9, 10), date(2018, 9, 11), date(2018, 9, 12)]
list_one = [date(2018, 9, 13), date(2018, 9, 14), date(2018, 9, 15)]
list_two = [date(2018, 9, 8), date(2018, 9, 9), date(2018, 9, 10)]

for day in days:

   if day not in(list_one, list_two):
       print('Case one')
   elif day in list_one:
       print('Case two')
   elif day in list_two:
       print('Case three')
Run Code Online (Sandbox Code Playgroud)

python

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

按特定元素拆分列表以获取Python列表

输入

['~', 'n1', 'n2', ..., 'nn', '~', 'k1', 'k2', ..., 'kn', '~']
Run Code Online (Sandbox Code Playgroud)

期望的输出:

[['n1', 'n2', ..., 'nn'],['k1', 'k2', ..., 'kn']]
Run Code Online (Sandbox Code Playgroud)

我见过itertools groupby但是无法让它工作.任何帮助,将不胜感激.另外......实际上并不在列表中,只是说中间有更多元素

python list python-3.x

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

Python 中的空变量列表

是否有可能创建尚未定义的变量/名称* 列表,然后在稍后阶段遍历列表以定义它们?

像这样:

varList = [varA, varB, varC]
for var in varList:
    var = 0
print(varList)

>>>[0, 0, 0]
Run Code Online (Sandbox Code Playgroud)

我问的原因是因为我有一个项目,假设我可以通过循环遍历 Pandas 系列 * 以这种方式批量填充 40 多个变量/名称*。不幸的是,Python 似乎不允许在列表中使用未定义的变量。有没有人有创造性的解决方法?

编辑:既然你问了具体的问题,这里是:

我有一个看起来像这样的 Pandas 系列(请原谅瑞典人):

print(Elanv)

>>>
Förb. KVV PTP                 5653,021978
Förb. KVV Skogsflis                     0
Förb. KVV Återvinningsflis    337,1416119
Förb. KVV Eo1                         6,1
Förb. HVC Återvinningsflis           1848
Name: Elanv, dtype: object
Run Code Online (Sandbox Code Playgroud)

我想将这个数组中的每个值存储到一组新的变量/名称*,我想要控制的名称。例如,我希望包含第一个值的新变量/名称* 被称为“förbKVVptp”,第二个被称为“förbKVVsflis”,依此类推。

“正常”选项是手动分配每个变量,如下所示:

förbKVVptp, förbKVVsflis, förbKVVåflis = Elanv.iloc[0], Elanv.iloc[1], Elanv.iloc[2] .... 
Run Code Online (Sandbox Code Playgroud)

但这会创建一个看起来不太好看的长串代码,只是为了命名变量/名称*。相反,我认为我可以做这样的事情(显然使用所有变量/名称*,而不仅仅是前三个),看起来和感觉更干净:

varList = [förbKVVptp, förbKVVsflis, förbKVVåflis]
for i, var in enumerate(varList): var …
Run Code Online (Sandbox Code Playgroud)

python

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

标签 统计

python ×10

list ×3

python-3.x ×2

append ×1

dictionary ×1

extend ×1

grouping ×1

insert ×1

numpy ×1

pickle ×1

save ×1

tuples ×1