相关疑难解决方法(0)

Python扩展切片困惑

所以我理解Python已经扩展了切片,它将使用[start:end:step]获取子串,其中包含start和end的默认值.

例如:

L = range(6)
>>>L[::2]
[0, 2, 4, 6]
Run Code Online (Sandbox Code Playgroud)

好吧有意义......没有启动值,所以它默认为0,然后递增2.

>>>L[::-1]
[6, 4, 2, 0]
Run Code Online (Sandbox Code Playgroud)

现在这是我真的很困惑的地方.没有值,因为它应该是0,但它从列表的后面开始......?不应该是[0,6,4,2]吗?为什么step = -1给出了从列表后面开始的特殊行为?

python

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

我如何删除字符串的第一个字符[python]

感谢这个网站上的答案我现在知道你可以通过字符串[: - 1]删除字符串的最后一个字符,这真的很有帮助,但是我需要能够删除第一个以及据我所知这个技术这不可能.那么有没有其他方法来删除部分字符串而不替换特定字母?

python string replace

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

删除字符串的所有字符的最佳方法,直到符合新行字符python?

删除字符串的所有字符的最佳方法,直到符合新行字符python?

str = 'fakeline\nfirstline\nsecondline\nthirdline'

into 

str = 'firstline\nsecondline\nthirdline'
Run Code Online (Sandbox Code Playgroud)

python regex string search

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

x [:] = y是什么意思?

我试着[:]在一开始就明白了,但我找不到任何文件提到它.学习Python高级语法的最佳位置在哪里?Google搜索无法找到[:].但我最后想出来了.我只是想知道哪里是学习Python'技巧'的最佳位置.

例如:

def test(x, y):
    x[:] = y  
    #x = y

>>> a = [0.5,0.6]
>>> b = [0.3]
>>> test(a, b)
>>>
>>> print a
[0.3]  # [0.5,0.6] 
Run Code Online (Sandbox Code Playgroud)

python

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

用于调用列表中的一组对象的正确语法?

我有一个包含1000个项目的列表,但只想调用它们的某个范围.

class myClass():

    def event(self):
        #do stuff


my_list = [myClass(i) for i in range(1000)]

#incorrect part:
my_list[0 - 10].event()
Run Code Online (Sandbox Code Playgroud)

这意味着我试图仅为前9个对象调用"事件".写这个的正确方法是什么?

python

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

为什么 list.insert[-1] 在 python 中不起作用?

我已经搜索并找到了如何将插入插入到列表的最后一个,但我现在很好奇为什么 [-1] 不起作用。

python

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

为什么python字符串中的负索引没有按预期结果?

我在python中创建了一个字符串:'HelpA'并将其标记为单词.

>>>word='HelpA'

>>>word

'HelpA' #expected string

>>>word[0:4]

'Help' #expected string
Run Code Online (Sandbox Code Playgroud)

在使用负索引调用单词时,我得到的是完整字符串而不是预期的部分字符串.

>>>word[-97:]

'HelpA'  #not the expected string
Run Code Online (Sandbox Code Playgroud)

它给出了整个字符串而不是预期的字符串:'pA'为什么会发生这种情况?

python string indices

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

用之前的项目替换列表中的每个项目?

例如,

ls = [8, 5, 2, 17]
Run Code Online (Sandbox Code Playgroud)

我想用它们之前的项目替换每个项目,并为最后一个项目添加一个新值。

预期的结果是:

ls = [5, 2, 17, new_value]
Run Code Online (Sandbox Code Playgroud)

从时间复杂度的角度来看,达到这一目标的最佳方法是什么?

我的实现细节:

我正在一个名为“鲍鱼”的棋盘游戏上实现 AlphaZero 算法,我需要处理输入数据。

输入数据的示例是,

ls_3d = [
[board_before_2_last_board],
[board_before_last_board],
[last_board],
[current_board]
]
*each board is a 2d array
Run Code Online (Sandbox Code Playgroud)

我必须不断处理这个 3d 列表的每一个动作。我想我会多次这样做以训练模型,所以我希望它尽可能快。

看到答案后,我认为方法与一维列表中的方法相同。像这样:

ls = ls[1:,:,:]+[new_board]
Run Code Online (Sandbox Code Playgroud)

这是正确的吗?

python list

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

查找最新版本的字符串——Python

试图找到最新版本的字符串列表。例如,

"01022021_1"
"01032021_1"
"02032021_1"
"02032021_2"
Run Code Online (Sandbox Code Playgroud)

最近的将是最后一个,但是我如何使用正则表达式来获取这些字符串并挑选出最新的日期和版本名称?

所以这些是带有版本号的日期。

python

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

Python列表索引

我确定这是一个重复的问题,但我不知道如何表达它.蟒蛇[1:3]会产生什么?

pythons = [’Graham’, ’Eric’, ’Terry’, ’John’, ’Michael’, ’Terry’]
Run Code Online (Sandbox Code Playgroud)

我现在知道答案是埃里克和特里,但为什么呢?

python indexing list

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

标签 统计

python ×10

string ×3

list ×2

indexing ×1

indices ×1

regex ×1

replace ×1

search ×1