一个非常简单的例子:
n=1
a=n
x=1
y=a+1
while (y-x) <10:
n+=1
print(x,y)
print(n,a)
Run Code Online (Sandbox Code Playgroud)
这将进入一个无限循环:
x= 1 y= 2
n= 2 a= 1
x= 1 y= 2
n= 3 a= 1
x= 1 y= 2
n= 4 a= 1
x= 1 y= 2
n= 5 a= 1
x= 1 y= 2
n= 6 a= 1
x= 1 y= 2
n= 7 a= 1
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,n循环正在更新并且可以调用,但是a没有更新到更新的n值.我想知道为什么会这样.如果y是这样的话也是如此n+1.
我可以删除数字,但不能删除字母字符:
>>> text
'132abcd13232111'
>>> text.strip('123')
'abcd'
Run Code Online (Sandbox Code Playgroud)
为什么以下不起作用?
>>> text.strip('abcd')
'132abcd13232111'
Run Code Online (Sandbox Code Playgroud) 我试着:
import pygal
wm = pygal.Worldmap()
Run Code Online (Sandbox Code Playgroud)
但它引起了:
AttributeError: module 'pygal' has no attribute 'Worldmap'
Run Code Online (Sandbox Code Playgroud)
谁能告诉我这是什么问题?
我目前有一个 numpy 的 shape 数组(3, 890, 1100, 2)。我想提取位于位置的二维数组,因此当索引和为时,(0, 0-890, 0-1100, 0)我将留下890x1100值的二维数组。140
换句话说,我想访问数组,就好像参数按顺序排列一样(3, 2, 890, 1100),并执行以下操作:
newArray = array[0][0]
Run Code Online (Sandbox Code Playgroud)
我知道我可以用循环来做到这一点,但想知道是否有一种更“python-esque”的方法来做到这一点。
你能帮我搞清楚吗?
q = [[12, 13, 14], [8, 9, 10,11], [2, 3, 4], [5, 6, 7]]
Run Code Online (Sandbox Code Playgroud)
假设我有一个像q这样的列表,我如何根据它进行排序
输出应该是:
q = [[8,9,10,11],[12,13,14][5,6,7],[1,2,3]]
Run Code Online (Sandbox Code Playgroud) 我os.scandir用于获取文件夹中的文件列表:
img_list2 = os.scandir('/home/shared/test')
Run Code Online (Sandbox Code Playgroud)
我想获得第一个元素。
我在尝试 img_list2.next()
>>> img_list2.next()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'posix.ScandirIterator' object has no attribute 'next'
Run Code Online (Sandbox Code Playgroud)
所以我试过:
>>> filt = list(img_list2)
>>> type(filt)
<class 'list'>
>>> globals()['filt']
[<DirEntry 'panaroma00010.jpg'>, <DirEntry 'panaroma00014.jpg'>, <DirEntry 'panaroma00004.jpg'>, <DirEntry 'panaroma00013.jpg'>, <DirEntry 'panaroma00007.jpg'>, <DirEntry 'panaroma00011.jpg'>, <DirEntry 'panaroma00012.jpg'>, <DirEntry 'panaroma00006.jpg'>, <DirEntry 'panaroma00009.jpg'>, <DirEntry 'panaroma00001.jpg'>, <DirEntry 'panaroma00003.jpg'>, <DirEntry 'panaroma00005.jpg'>, <DirEntry 'panaroma00002.jpg'>, <DirEntry 'panaroma00008.jpg'>]
>>> filt[1]
<DirEntry 'panaroma00014.jpg'>
>>>
Run Code Online (Sandbox Code Playgroud)
所以就像在列表中我们可以获得第一个元素值,我们可以从os.scandir?
在Python 2,我可以重新定义的任何数量与所述ctypes模块,例如数2以3:
import ctypes
value = 2
ob_ival_offset = ctypes.sizeof(ctypes.c_size_t) + ctypes.sizeof(ctypes.c_voidp)
ob_ival = ctypes.c_int.from_address(id(value)+ob_ival_offset)
ob_ival.value = 3
print 1+1
Run Code Online (Sandbox Code Playgroud)
我应该什么时候需要这样做?
我试图将我的字符串分成 str = 'I HAVE 6'两部分.输出应该
['I HAVE','6']
是没有关于作为输入给出的单词长度的信息.一种方法是将其拆分为三个并添加前两个.还有其他方法吗?
python ×10
python-3.x ×7
string ×2
ctypes ×1
list ×1
numpy ×1
pygal ×1
python-2.7 ×1
python-3.6 ×1
sorting ×1
split ×1
tkinter ×1
while-loop ×1