我想只乘以列表(0-100)上的每个第二个数字,但我无法使其工作。仅使用列表的第N个元素进行操作
回答
[x*10 for x in range(100) if x%2==0] # take vale to be multiply instead of 10, use x if you want to multiply with number it self
以下的代码只是增加偶数元素而保持原样。
def iterate_lis(get_list):
ls = []
for x in get_list:
if x%2==0:
ls.append(x*2)
else:
ls.append(x)
print(ls)
return ls
iterate_count = 5 # list will be iterate 5 times
for i in range(iterate_count):
if i ==0:
get_lis = iterate_lis(range(100))
else:
get_lis = iterate_lis(get_lis)
结果为iterate_count=5
将是如下:
>>>
[0, 1, 4, 3, 8, 5, 12, 7, 16, 9, 20, 11, 24, 13, 28, 15, 32, 17, 36, 19, 40, 21, 44, 23, 48, 25, 52, 27, 56, 29, 60, 31, 64, 33, 68, 35, 72, 37, 76, 39, 80, 41, 84, 43, 88, 45, 92, 47, 96, 49, 100, 51, 104, 53, 108, 55, 112, 57, 116, 59, 120, 61, 124, 63, 128, 65, 132, 67, 136, 69, 140, 71, 144, 73, 148, 75, 152, 77, 156, 79, 160, 81, 164, 83, 168, 85, 172, 87, 176, 89, 180, 91, 184, 93, 188, 95, 192, 97, 196, 99]
[0, 1, 8, 3, 16, 5, 24, 7, 32, 9, 40, 11, 48, 13, 56, 15, 64, 17, 72, 19, 80, 21, 88, 23, 96, 25, 104, 27, 112, 29, 120, 31, 128, 33, 136, 35, 144, 37, 152, 39, 160, 41, 168, 43, 176, 45, 184, 47, 192, 49, 200, 51, 208, 53, 216, 55, 224, 57, 232, 59, 240, 61, 248, 63, 256, 65, 264, 67, 272, 69, 280, 71, 288, 73, 296, 75, 304, 77, 312, 79, 320, 81, 328, 83, 336, 85, 344, 87, 352, 89, 360, 91, 368, 93, 376, 95, 384, 97, 392, 99]
[0, 1, 16, 3, 32, 5, 48, 7, 64, 9, 80, 11, 96, 13, 112, 15, 128, 17, 144, 19, 160, 21, 176, 23, 192, 25, 208, 27, 224, 29, 240, 31, 256, 33, 272, 35, 288, 37, 304, 39, 320, 41, 336, 43, 352, 45, 368, 47, 384, 49, 400, 51, 416, 53, 432, 55, 448, 57, 464, 59, 480, 61, 496, 63, 512, 65, 528, 67, 544, 69, 560, 71, 576, 73, 592, 75, 608, 77, 624, 79, 640, 81, 656, 83, 672, 85, 688, 87, 704, 89, 720, 91, 736, 93, 752, 95, 768, 97, 784, 99]
[0, 1, 32, 3, 64, 5, 96, 7, 128, 9, 160, 11, 192, 13, 224, 15, 256, 17, 288, 19, 320, 21, 352, 23, 384, 25, 416, 27, 448, 29, 480, 31, 512, 33, 544, 35, 576, 37, 608, 39, 640, 41, 672, 43, 704, 45, 736, 47, 768, 49, 800, 51, 832, 53, 864, 55, 896, 57, 928, 59, 960, 61, 992, 63, 1024, 65, 1056, 67, 1088, 69, 1120, 71, 1152, 73, 1184, 75, 1216, 77, 1248, 79, 1280, 81, 1312, 83, 1344, 85, 1376, 87, 1408, 89, 1440, 91, 1472, 93, 1504, 95, 1536, 97, 1568, 99]
[0, 1, 64, 3, 128, 5, 192, 7, 256, 9, 320, 11, 384, 13, 448, 15, 512, 17, 576, 19, 640, 21, 704, 23, 768, 25, 832, 27, 896, 29, 960, 31, 1024, 33, 1088, 35, 1152, 37, 1216, 39, 1280, 41, 1344, 43, 1408, 45, 1472, 47, 1536, 49, 1600, 51, 1664, 53, 1728, 55, 1792, 57, 1856, 59, 1920, 61, 1984, 63, 2048, 65, 2112, 67, 2176, 69, 2240, 71, 2304, 73, 2368, 75, 2432, 77, 2496, 79, 2560, 81, 2624, 83, 2688, 85, 2752, 87, 2816, 89, 2880, 91, 2944, 93, 3008, 95, 3072, 97, 3136, 99]
唯一的问题,我想保留其他数字但处于原始状态:/ –
@Ez Az现在看到。 – Gahan
我需要一遍又一遍地修改同一个列表,但如果我写: 对于x在new_list: 如果x%2 == 0: ls.append(X * 10) 其他: ls.append( x) 它只是不会工作。 –
我想改变列举如此:1,2,3,4,5,6,7,8成为1,4,3,8,5,16等
虽然我不明白你怎么乘6与16结束了,我想这是你所需要的:
new_list = []
for x in range(1,100):
if x % 2 == 0: new_list.append(x*2)
else: new_list.append(x)
print(new_list)
如果数字被2整除,你用2乘,并将其附加到一个新的列表。如果没有,你只需追加它,而不会相乘。
运行这个程序,你会得到以下输出:
[1, 4, 3, 8, 5, 12, 7, 16, 9, 20, 11, 24, 13, 28, 15, 32, 17, 36, 19, 40, 21, 44, 23, 48, 25, 52, 27, 56, 29, 60, 31, 64, 33, 68, 35, 72, 37, 76, 39, 80, 41, 84, 43, 88, 45, 92, 47, 96, 49, 100, 51, 104, 53, 108, 55, 112, 57, 116, 59, 120, 61, 124, 63, 128, 65, 132, 67, 136, 69, 140, 71, 144, 73, 148, 75, 152, 77, 156, 79, 160, 81, 164, 83, 168, 85, 172, 87, 176, 89, 180, 91, 184, 93, 188, 95, 192, 97, 196, 99]
你不能老是用0乘,因为结果将始终为0。
result=1
for i in range (1 , 10):
if i%2==0:
result*=i
print(result)
import numpy as np
l = range(100)
np.product(l[0::2])
这会给你一个列表的每第二个元素和乘法。
使用范围()来生成要更改的条目的索引...
numbers = [1, 2, 3, 4, 5, 6, 7, 8]
for i in range(1, len(numbers), 2):
numbers[i] *= 2
将导致包含数字列表
[1, 4, 3, 8, 5, 12, 7, 16]
- 1. 列表:用于元组中第n个元素的使用
- 2. 通过base px * n第n个元素缩进每个第n个元素
- 3. 列表形式的列表中的每个第n个元素
- 4. 使用Java8流在列表的第一个元素上执行特定操作
- 5. 动画列表不起作用 - 仅显示第一个元素
- 6. “仅使用列表的第一个元素”R
- 7. 按元素列表的第二个元素对列表进行排序
- 8. 如何按v2.3中的第n个元素对列表进行排序?
- 9. python heapq:如何使用列表列表中的第n个元素对堆进行排序?
- 10. 在Haskell列表中访问列表中的第n个元素
- 11. 如何选择上使用XPath从元素列表病房第n个元素
- 12. 如何使列表中的元素与仅包含一个元素的列表进行列表?
- 13. 使用Flex中的图表元素进行编程操作
- 14. 使用BeautifulSoup获取第n个元素
- 15. 对列表中的每对元素进行操作
- 16. @XmlAnyElement仅使用第一个元素
- 17. 列表第N个素数的序言
- 18. Prolog - 给出列表中的每个第n个元素
- 19. 指定python列表中的每个第N个元素
- 20. Javascript:使用阵列的每第n个元素
- 21. 使用JavaScript来定位表中的第n列或每个表行的第n个单元格
- 22. 按Python中第n个元素搜索元组列表
- 23. Zen第n个元素
- 24. prolog-two列表,对相应元素进行操作
- 25. 如何在varbinary列的第N个字节上执行二进制操作?
- 26. 函数显示列表的第n个元素,返回false。
- 27. 在For循环中查找列表中的第N个元素
- 28. 序言:查找列表中的第N个元素
- 29. r-concatenate列表中的n个元素
- 30. n个元素的反向列表
的可能的复制[我如何循环通过两个Python列表?](https://stackoverflow.com/questions/2990121/how-do-i-loop-through-a-python-list-by-twos) – asongtoruin
请澄清。你是否想把所有这些数字相乘在一起,你是否想用特定数字乘以每个数字并存储结果或其他?数字是否在给定列表中乘以“1”,“3”等或第2,第4等项目?另外,你有什么尝试? –
我想改成这样的列表:1,2,3,4,5,6,7,8变成1,4,3,8,5,16等 –