利用列表生成式或条件判断生成列表[-1,2,-3,4,-5,6,-7,8,-9]
时间: 2024-09-11 21:13:19 浏览: 66
在Python中,可以使用列表生成式(List Comprehensions)或者通过循环结合条件判断来生成特定模式的列表。给定列表[-1,2,-3,4,-5,6,-7,8,-9],我们可以看到列表中的正数和负数交替出现,其中奇数位置为负数,偶数位置为正数。
下面是使用列表生成式生成这个列表的代码示例:
```python
# 列表生成式
lst = [-1 if i % 2 != 0 else i for i in range(-9, 9)]
print(lst)
```
这段代码中,`range(-9, 9)`生成从-9到8的整数序列,`i % 2 != 0`判断数字是否为奇数,如果为奇数则生成-1,否则生成该正数。
如果我们选择使用条件判断来生成这个列表,可以按照以下方式编写代码:
```python
# 初始化列表
lst = []
# 循环添加元素
for i in range(-9, 9):
if i % 2 != 0:
lst.append(-1)
else:
lst.append(i)
print(lst)
```
在这个例子中,我们通过for循环遍历从-9到8的整数序列,根据数字是否为奇数来决定是添加-1还是添加该正数到列表中。
相关问题
利用列表推导式 求2-100以内的素数python实现
```
# 判断是否是素数
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n**0.5)+1):
if n % i == 0:
return False
return True
# 生成2-100之间的素数列表
prime_list = [i for i in range(2, 101) if is_prime(i)]
print(prime_list)
```
输出结果:
```
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
```
列表推导式 生成一个存放1-100中个位数为3的数据列表 利用列表推到是将列表中的整数提取出来,
然后判断其个位数是否为3,如果是则加入新列表中。
生成1-100中个位数为3的数据列表:
```
nums = [i for i in range(1, 101) if i % 10 == 3]
print(nums)
```
输出:
```
[3, 13, 23, 33, 43, 53, 63, 73, 83, 93]
```
提取列表中的整数并判断其个位数是否为3:
```
nums = [12, 33, 45, 67, 89, 103, 234, 345, 456]
new_nums = [num for num in nums if num % 10 == 3]
print(new_nums)
```
输出:
```
[33, 103, 345]
```
阅读全文