小编Aka*_*ph7的帖子

167
推荐指数
7
解决办法
18万
查看次数

为什么Python允许序列的超出范围切片索引?

所以我只是遇到了一些奇怪的Python特性,并想要对它进行一些澄清.

以下数组操作有点有意义:

p = [1,2,3]
p[3:] = [4] 
p = [1,2,3,4]
Run Code Online (Sandbox Code Playgroud)

我想它实际上只是将这个值附加到最后,对吗?
但是,我为什么要这样做呢?

p[20:22] = [5,6]
p = [1,2,3,4,5,6]
Run Code Online (Sandbox Code Playgroud)

更是如此:

p[20:100] = [7,8]
p = [1,2,3,4,5,6,7,8]
Run Code Online (Sandbox Code Playgroud)

这似乎是错误的逻辑.这似乎应该抛出错误!

任何解释?
- 这只是Python的奇怪之处吗?
- 有目的吗?
- 我是否以错误的方式思考这个问题?

python sequence slice python-3.x range-checking

72
推荐指数
2
解决办法
2874
查看次数

使用python中的lambda表达式在循环内生成函数

如果我制作两个函数列表:

def makeFun(i):
    return lambda: i

a = [makeFun(i) for i in range(10)]
b = [lambda: i for i in range(10)]
Run Code Online (Sandbox Code Playgroud)

为什么名单ab不相等?

例如:

>>> a[2]()
2
>>> b[2]()
9
Run Code Online (Sandbox Code Playgroud)

python lambda scope

29
推荐指数
3
解决办法
8761
查看次数

如何在python中将多个json文件合并为一个文件

我想在python中将多个json文件合并为一个文件。我想要做的事情是如果有几个 .json 文件,例如:

# temp1.json
[{'num':'1', 'item':'smartphone','data':'2019-01-01'},
{'num':'2', 'item':'smartphone','data':'2019-01-02'},
{'num':'3', 'item':'smartphone','data':'2019-01-03'},
{'num':'4', 'item':'smartphone','data':'2019-01-04'}]

# temp2.json
[{'num':'5', 'item':'smartphone','data':'2019-01-05'},
{'num':'6', 'item':'smartphone','data':'2019-01-06'},
{'num':'7', 'item':'smartphone','data':'2019-01-07'}]

# temp3.json
[{'num':'8', 'item':'smartphone','data':'2019-01-08'},
{'num':'9', 'item':'smartphone','data':'2019-01-09'},
{'num':'10', 'item':'smartphone','data':'2019-01-10'},
{'num':'11', 'item':'smartphone','data':'2019-01-11'},
{'num':'12', 'item':'smartphone','data':'2019-01-12'}]
Run Code Online (Sandbox Code Playgroud)

我想得到的 result.json 文件应该是这样的:

# result.json
[{'num':'1', 'item':'smartphone','data':'2019-01-01'},
{'num':'2', 'item':'smartphone','data':'2019-01-02'},
{'num':'3', 'item':'smartphone','data':'2019-01-03'},
{'num':'4', 'item':'smartphone','data':'2019-01-04'},
{'num':'5', 'item':'smartphone','data':'2019-01-05'},
{'num':'6', 'item':'smartphone','data':'2019-01-06'},
{'num':'7', 'item':'smartphone','data':'2019-01-07'},
{'num':'8', 'item':'smartphone','data':'2019-01-08'},
{'num':'9', 'item':'smartphone','data':'2019-01-09'},
{'num':'10', 'item':'smartphone','data':'2019-01-10'},
{'num':'11', 'item':'smartphone','data':'2019-01-11'},
{'num':'12', 'item':'smartphone','data':'2019-01-12'}]
Run Code Online (Sandbox Code Playgroud)

我得到的 result.json 文件是:

# result.json
[[{'num':'1', 'item':'smartphone','data':'2019-01-01'},
{'num':'2', 'item':'smartphone','data':'2019-01-02'},
{'num':'3', 'item':'smartphone','data':'2019-01-03'},
{'num':'4', 'item':'smartphone','data':'2019-01-04'}],
[{'num':'5', 'item':'smartphone','data':'2019-01-05'},
{'num':'6', 'item':'smartphone','data':'2019-01-06'},
{'num':'7', …
Run Code Online (Sandbox Code Playgroud)

python merge json

7
推荐指数
3
解决办法
6986
查看次数

属性错误:“事件”对象没有属性“键”

当我运行我的代码时,我收到以下错误消息。

Traceback (most recent call last):
  File "C:/Users/user/PycharmProjects/MyDevWork/PygamesRelated/game_1.py", line 29, in <module>
    elif event.key == pygame.K_s:
AttributeError: 'Event' object has no attribute 'key'
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

import pygame

pygame.init()

screen = pygame.display.set_mode((720, 480))
clock = pygame.time.Clock()
FPS = 60

BLACK = (0, 0, 0)
WHITE = (255, 255, 255)

rect = pygame.Rect((0, 0), (32, 32))
image = pygame.Surface((32, 32))
image.fill(WHITE)

while True:
    clock.tick(FPS)

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            quit()

        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_w:
                rect.move_ip(0, -2) …
Run Code Online (Sandbox Code Playgroud)

python pygame attributeerror

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

pandas 中示例函数的替换参数的用途是什么?

我想问一下这个功能:

df.sample(frac=0.5, replace=True, random_state=1)
Run Code Online (Sandbox Code Playgroud)

可以作为对 DataFrame 进行采样时的选项。

在 pandas参考资料中,它说:

有或没有更换的样品。

这意味着什么?它有什么用途?

python pandas

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

“平”列表,包含列表列表到列表列表

这个问题不同于将列表/嵌套列表转换为不嵌套的列表(这会产生一组非常具体的响应,无法解决我的情况),也不同于许多“列表的扁平列表”答案。

我要列出一个列表,其中一些又是列表列表,然后“拉平”到列表列表(而不仅仅是列表!)。

作为一个具体的例子,我想从这里开始:

my_list_of_lists = [[1, 2, 3], [[9, 10], [8, 9, 10], [3, 4, 6]], [11, 12, 13]]
Run Code Online (Sandbox Code Playgroud)

对此

target_list_of_lists = [[1, 2, 3], [9, 10], [8, 9, 10], [3, 4, 6], [11, 12, 13]]
Run Code Online (Sandbox Code Playgroud)

(从视觉上讲,我想将外部列表中的所有[[]] 内部分别转换为[]。)

python list

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

熊猫使用groupby并根据各种条件放置重复项

我有DataFrame:

df = pd.read_csv(...)

a   b   c      d     e     f      
1  two  adc   aaaa   Nan   mmm    
2  one  Nan   aaa    Nan   nnn    
1  one  ab    Nan    Nan   ww     
1  two  abcd  aaa    ff    uiww  
1  two  a     aaa    d     iii 
Run Code Online (Sandbox Code Playgroud)

我想根据“ a”和“ b”删除重复项。

df = df.drop_duplicates(['a', 'b'])
Run Code Online (Sandbox Code Playgroud)
  1. 但是我想在列“ c”,“ d”和“ e”值中保留最大长度。
  2. 我想留在列“ f”中:不包含('m'或'n')的值或包含('w'或'y')的值。如果不满足先前的条件,则取任何值。

我想得到这个结果:

a   b   c      d     e     f      
1  two  abcd  aaaa   ff    uiww   
2  one  Nan   aaa    Nan   nnn    
1  one  ab    Nan    Nan   ww     
Run Code Online (Sandbox Code Playgroud)

我尝试使用transform …

python group-by dataframe pandas

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

为什么在使用键盘时我的代码循环两次?

我正在编写代码,以在输入特定的数字字符串时提醒用户。该代码运行似乎按预期运行,但应给我“ 12345”时输出“ 1122334455”:

import sys
sys.path.append('..')
import keyboard

line = ''
ISBN10 = ''
number = ""

def print_pressed_keys(e):
    global line, ISBN10, number
    line = line.join(str(code) for code in keyboard._pressed_events)
    if line == "2":
        number = 1
    elif line == "3":
        number = 2
    elif line == "4":
        number = 3
    elif line == "5":
        number = 4
    elif line == "6":
        number = 5
    elif line == "7":
        number = 6
    elif line == "8":
        number = 7
    elif …
Run Code Online (Sandbox Code Playgroud)

python keyboard-python

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

如何使用 java.cast

我发现https://chaquo.com/chaquopy/doc/current/python.html#java.cast 中缺少如何使用这些非常有用的功能的示例。

我希望有更多的例子来展示如何执行我一直在努力执行的一些任务。例如解释是否可以将二维 Java 数组转换为 Python 列表、数组或张量。甚至只是了解使用 java.cast() 的语法是什么。

python java chaquopy

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

如何在C#中将字符串中的所有内容捕获到单独的组中?

我在文件中有一些数据,并且我正在使用这些数据Regex来获取单个元素并删除和标记\r\n之间的所有内容。<opening></closing>

但是,当我尝试elements单独选择时,最后,整个数据将被选为一组。

这是我的正则表达式:

(<([ph0-9figc]+)>)([a-zA-Z0-9äöüÄÖÜß[:punct:] \n\r\t])+(<\/\2>)
Run Code Online (Sandbox Code Playgroud)

输入数据样本

c# regex regex-group regex-greedy regex-lookarounds

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