如何访问索引本身以获取如下列表?
ints = [8, 23, 45, 12, 78]
for i in ints:
print('item #{} = {}'.format(???, i))
Run Code Online (Sandbox Code Playgroud)
当我使用循环遍历它时for,如何访问循环索引,在这种情况下从1到5?
我需要在Python的切片表示法上有一个很好的解释(引用是一个加号).
对我来说,这种符号需要一点点提升.
它看起来非常强大,但我还没有完全了解它.
如果我有一个列表说l = [1, 8, 8, 8, 1, 3, 3, 8]并且保证每个元素出现偶数次,我如何制作一个包含l现在出现n/2次数的所有元素的列表。所以既然1发生了2,它现在应该发生一次。由于8出现4次数,它现在应该出现两次。既然3发生了两次,就应该发生一次。
所以新列表将类似于 k=[1,8,8,3]
执行此操作的最快方法是什么?我list.count()为每个元素都做了,但速度很慢。
我有一般的想法,如何在Java中这样做,但我正在学习Python,不知道如何做到这一点.
我需要实现一个函数,该函数返回一个包含列表中每个其他元素的列表,从第一个元素开始.
到目前为止,我已经并且不确定如何从这里开始,因为我只是在学习Python中的for循环是如何不同的:
def altElement(a):
b = []
for i in a:
b.append(a)
print b
Run Code Online (Sandbox Code Playgroud) 我有一个这样的列表:
list1 = [blah, 3, haha, 2, pointer, 1, poop, fire]
Run Code Online (Sandbox Code Playgroud)
我想要的输出是:
list = [3, 2, 1, fire]
Run Code Online (Sandbox Code Playgroud)
所以我想要的是列出前一个列表的偶数元素.我尝试使用一个for语句并尝试删除第二个元素,同时将它们附加到列表中,但它没有成功:
count = 0
for a in list1:
list2.append(a)
if count % 2 = = 1:
list2.pop(count)
print list2
Run Code Online (Sandbox Code Playgroud)
有什么建议?
你能让它变得更简单/优雅吗?
def zigzag(seq):
"""Return two sequences with alternating elements from `seq`"""
x, y = [], []
p, q = x, y
for e in seq:
p.append(e)
p, q = q, p
return x, y
Run Code Online (Sandbox Code Playgroud)
样本输出:
>>> zigzag('123456')
(['1', '3', '5'], ['2', '4', '6'])
Run Code Online (Sandbox Code Playgroud) 我知道有很多方法可以做到这一点,但我正在寻找一种光滑的pythonic方式来完成以下工作.给出一个数字列表:
a = [0,1,2,3,4,5,6,7,8,9]
Run Code Online (Sandbox Code Playgroud)
将此列表拆分为与每个其他元素对应的2个列表:
b = [0,2,4,6,8]
c = [1,3,5,7,9]
Run Code Online (Sandbox Code Playgroud) 我最近开始学习Python,for循环的概念对我来说仍然有点混乱.我理解它通常遵循格式for x in y,其中y只是一些列表.
for-each循环for (int n: someArray)
成为for n in someArray,
并且for循环for (i = 0; i < 9; i-=2)可以表示为for i in range(0, 9, -2)
假设,而不是一个恒定的增量,我想i*=2,甚至i*=i.这可能,或者我必须使用while循环吗?
我想将列表中的每个第 N 个元素设置为其他元素。
(就像这个问题是针对 Matlab 的。)
这是 N=2 的尝试:
>>> x=['#%d' % i for i in range(10)]
>>> x
['#0', '#1', '#2', '#3', '#4', '#5', '#6', '#7', '#8', '#9']
>>> x[0::2] = 'Hey!'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: attempt to assign sequence of size 4 to extended slice of size 5
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?切片似乎期望一个可迭代的,而不仅仅是一个值。
我有字典列表,为简单起见,我把它们写成字符串:
ls = ['element1', 'element2', 'element3', 'element4', 'element5', 'element6', 'element7', 'element8', 'element9', 'element10']
Run Code Online (Sandbox Code Playgroud)
我试图从列表中处理一对元素如下:
#m1. Step for loop by size two with if condition
for x in ls:
if ls.index(x)%2 == 0:
# my code to be process
print(x) # for simplicity I just printed element
#m2. tried another way like below:
for x in range(0, len(ls), 2):
# this way give me output of alternate element from list
print(ls[x])
Run Code Online (Sandbox Code Playgroud)
有没有办法在迭代列表项时m1只获取备用元素m2?
我必须在学校这样做,但我无法解决这个问题.我必须输入并打印奇数字符.到目前为止,我已将输入放在列表中,并且我有一个while循环(这是任务单上的线索),但我无法解决它.请帮忙:
inp = input('What is your name? ')
name = []
name.append(inp)
n=1
while n<len(name):
Run Code Online (Sandbox Code Playgroud)